WO2004104930A2 - Hybrid video compression method - Google Patents
Hybrid video compression method Download PDFInfo
- Publication number
- WO2004104930A2 WO2004104930A2 PCT/HU2004/000055 HU2004000055W WO2004104930A2 WO 2004104930 A2 WO2004104930 A2 WO 2004104930A2 HU 2004000055 W HU2004000055 W HU 2004000055W WO 2004104930 A2 WO2004104930 A2 WO 2004104930A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- block
- blocks
- coded
- sub
- frame
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 293
- 238000007906 compression Methods 0.000 title claims description 54
- 230000006835 compression Effects 0.000 title claims description 53
- 230000009466 transformation Effects 0.000 claims abstract description 59
- 238000000638 solvent extraction Methods 0.000 claims abstract description 54
- 238000013528 artificial neural network Methods 0.000 claims abstract description 48
- 238000004458 analytical method Methods 0.000 claims abstract description 25
- 238000013139 quantization Methods 0.000 claims description 75
- 230000006870 function Effects 0.000 claims description 47
- 230000008569 process Effects 0.000 claims description 40
- 210000002569 neuron Anatomy 0.000 claims description 36
- 239000011159 matrix material Substances 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 23
- 239000000872 buffer Substances 0.000 claims description 19
- 238000003860 storage Methods 0.000 claims description 11
- 238000012986 modification Methods 0.000 claims description 7
- 230000004048 modification Effects 0.000 claims description 7
- 238000009826 distribution Methods 0.000 claims description 4
- 241001136616 Methone Species 0.000 claims 1
- BADXJIPKFRBFOT-UHFFFAOYSA-N dimedone Chemical compound CC1(C)CC(=O)CC(=O)C1 BADXJIPKFRBFOT-UHFFFAOYSA-N 0.000 claims 1
- 210000002364 input neuron Anatomy 0.000 claims 1
- 238000000844 transformation Methods 0.000 abstract description 24
- 239000000523 sample Substances 0.000 description 35
- 230000033001 locomotion Effects 0.000 description 30
- 238000012549 training Methods 0.000 description 25
- 239000013598 vector Substances 0.000 description 24
- 230000002829 reductive effect Effects 0.000 description 19
- 230000001537 neural effect Effects 0.000 description 18
- 238000012546 transfer Methods 0.000 description 18
- 238000004364 calculation method Methods 0.000 description 17
- 230000014509 gene expression Effects 0.000 description 15
- 230000009467 reduction Effects 0.000 description 10
- IJVMOGKBEVRBPP-ZETCQYMHSA-N dcpg Chemical compound OC(=O)[C@@H](N)C1=CC=C(C(O)=O)C(C(O)=O)=C1 IJVMOGKBEVRBPP-ZETCQYMHSA-N 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000012360 testing method Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000006073 displacement reaction Methods 0.000 description 7
- 238000005192 partition Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- YBJHBAHKTGYVGT-ZKWXMUAHSA-N (+)-Biotin Chemical compound N1C(=O)N[C@@H]2[C@H](CCCCC(=O)O)SC[C@@H]21 YBJHBAHKTGYVGT-ZKWXMUAHSA-N 0.000 description 5
- 230000008901 benefit Effects 0.000 description 5
- 230000007423 decrease Effects 0.000 description 5
- 230000003247 decreasing effect Effects 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 5
- 230000002123 temporal effect Effects 0.000 description 5
- FEPMHVLSLDOMQC-UHFFFAOYSA-N virginiamycin-S1 Natural products CC1OC(=O)C(C=2C=CC=CC=2)NC(=O)C2CC(=O)CCN2C(=O)C(CC=2C=CC=CC=2)N(C)C(=O)C2CCCN2C(=O)C(CC)NC(=O)C1NC(=O)C1=NC=CC=C1O FEPMHVLSLDOMQC-UHFFFAOYSA-N 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000012935 Averaging Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000006837 decompression Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000003767 neural control Effects 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 2
- 241000023320 Luma <angiosperm> Species 0.000 description 2
- 230000033228 biological regulation Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- VOXZDWNPVJITMN-ZBRFXRBCSA-N 17β-estradiol Chemical compound OC1=CC=C2[C@H]3CC[C@](C)([C@H](CC4)O)[C@@H]4[C@@H]3CCC2=C1 VOXZDWNPVJITMN-ZBRFXRBCSA-N 0.000 description 1
- BSFODEXXVBBYOC-UHFFFAOYSA-N 8-[4-(dimethylamino)butan-2-ylamino]quinolin-6-ol Chemical compound C1=CN=C2C(NC(CCN(C)C)C)=CC(O)=CC2=C1 BSFODEXXVBBYOC-UHFFFAOYSA-N 0.000 description 1
- 101000969688 Homo sapiens Macrophage-expressed gene 1 protein Proteins 0.000 description 1
- 102100021285 Macrophage-expressed gene 1 protein Human genes 0.000 description 1
- 238000012952 Resampling Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012885 constant function Methods 0.000 description 1
- 238000013016 damping Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- JLYXXMFPNIAWKQ-UHFFFAOYSA-N γ Benzene hexachloride Chemical compound ClC1C(Cl)C(Cl)C(Cl)C(Cl)C1Cl JLYXXMFPNIAWKQ-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/523—Motion estimation or motion compensation with sub-pixel accuracy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/149—Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/154—Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
Definitions
- the invention relates to video compression, more particularly to a method, and apparatus for compressing a video frame sequence.
- Digital video images moving images
- the amount of information contained in digital video calls for the improvement of the transfer bandwidth of digital video systems and for higher-capacity storage devices.
- An evidence of progress in the latter field is the rocketing increase of the capacity of Flash-type semiconductor memory modules in recent years.
- the information content of digital video is extremely high, which makes it practically impossible or at least very expensive to use semiconductor memory for storing video digital data.
- a single minute of full-resolution (Dl) digital video needs 1,866 Gbyte storage capacity without compression.
- the bandwidth may reach 248 000 kbit/s.
- the video encoding system known as MPEG1 appeared, which was capable of reducing the amount of digital video data to approx 1/30 th of the original. Due to quality issues, this system was improved, and the video encoder known as MPEG2 was born. This is applied primarily in DVD and DVB systems.
- An improved variety of the system, MPEG4 has been designed for the purposes of Internet-oriented, so-called streaming media.
- the object of the present invention is a high-efficiency video data compression system.
- the proposed system makes it possible to store video data in semiconductor memory modules, permitting the application of low-cost RAM memory modules for storing video data, such RAM modules being widespread on the computer market,.
- Such a non-mechanic storage system i. e. a storage system that does not contain moving parts
- the coding system applying the inventive compression method can be ⁇ used for replacing the mechanical tape recording system of conventional video cameras, storing digital video data e.g. in Flash memory.
- the proposed Hybrid Video Compression coding system enables the bandwidth of the digital data stream to be decreased to 300-600 kbit/s, while preserving good video quality, which means that for two hours of video only 4-500 Mbyte storage space is needed.
- the amount of coded data is changing dynamically within minimum and maximum limits in order to maintain the desired quality and desired total data length.
- known software programs perform compression control in accordance with the average coded frame length calculated for a sequence consisting of x frames. If the average length exceeds the previous average length value, the compression will be stronger (the compression ratio is increased). If the average length is smaller than the previous value, the compression ratio is decreased within specified minimum and maximum limit values.
- the compression ratio is usually increased by selecting "stronger” quantization (a “rounding off operation performed during transformations, see below). That causes higher error rate and noise. Errors are often visually conspicuous and disturbing, especially under 1 Mbit/s. Since compressibility changes from frame to frame, in case of a constant expected quality it is usually difficult to maintain the desired average frame length. The minimum and maximum length values usually cannot be set too high, because that would result in the control range becoming too wide and the coded length varying over too large a scale. It is often the case that the specified minimum value cannot provide the desired quality so it would be necessary to further increase the compression ratio.
- the MPEG method One of the most widespread and known methods for compressing video ⁇ be regarded a hybrid coding method, as it unites the compression based on spatial redundancy and the compression based on temporal redundancy.
- the method based on spatial redundancy either reduces the information content of the frame by reducing details, or by recognizing and exploiting recurring features in the frame.
- the compression method relying on temporal redundancy uses preceding and subsequent frames, and encodes only these changes.
- JPEG One of the known methods for still image compression is JPEG.
- the method is also based on crizosia.
- the image to be. compressed is divided into blocks, and the . , information content of the blocks is reduced using discrete cosine transformation. .. ⁇ • ⁇ .
- Received blocks to be compressed are passed to selector 2 through input line 1.
- the selector 2 decides if the given block is an intra-, inter-, or predicted block, and treats it accordingly.
- the block having passed the DCT (discrete cosine transform) module 3 and quantization module 4, is coded in the entropy coding module 13 and is written out through video multiplexer 14 onto output 15, into the compressed output data stream which is to be transmitted or stored.
- Transformed data of intra/inter blocks are reconstructed by inverse quantization module 5, IDCT (inverse cosine transform) module 6 and selector 7, and these data are finally written into reference frame store 8.
- the quantization module 4 essentially divides the elements of the DCT transformed block (the DCT coefficients) with the quantization factor. Coefficients are reconstructed by the inverse quantization module 5, in practice by multiplying them with the quantization factor. In other words, the inverse quantization module attempts to restore the original values of DCT coefficients, at least to the extent possible, allowed by the errors arising from the integer division. This is done with the intention of immediately decoding each frame or each block within a frame. The immediate decoding is necessary because the method uses the decoded frame as reference for coding the next frame.
- This procedure does not include entropy coding(decoding), because it would be superfluous, considering that entropy coding does not cause information loss which should be taken into account in the decoded reference frame.
- the first frame has no reference, which means that it is always a so- ⁇ frame). Thus, with the first frame the above procedure is repeated until the entire I-type frame is processed. Frames or blocks that use the previous or subsequent frame as reference are called respectively P- and B-type frames/blocks.
- Blocks of the next received frame are fed into the motion estimation module 10 that attempts to find a reference block for the block to be coded in the reference frame stored in reference frame store 8.
- the motion estimation module 10 performs motion compensation using the found, reference block, then the (original) block to be coded is subtracted from the reference block by prediction module 9, with the difference being passed , on to the modules carrying out the above transformations: to selector 2, DCT transformation module 3 and quantization module 4, then to entropy coding module 13, and finally to multiplexer 14.
- the motion vector (MV) produced as the result of motion compensation, is coded by the entropy coding module 12 and is passed on to the multiplexer 14, which inserts the motion vector into the output data stream 15.
- the 7 module is a selector/sum module that leaves data of I-type blocks unchanged, while in case of P- and B-type blocks adds the found reference block to the inverse transformed differences. The block thus reconstructed is subsequently written into the reference frame store.
- Positions found during the search are converted into vectors and coded by the entropy coding module 12.
- Compression systems relying on temporal redundancy encode only the changed portions of consecutive frames. In practice, this is done by dividing the frames into blocks and comparing individual blocks pixel by pixel with pixels located in a search range of the previous or the subsequent frame.
- the procedure is illustrated in Fig. 2, showing that a reference block best matching a given block 20 of a frame 17 is being searched for in the sea in the previous frame 16 or in the search range 19 of the subsequent frame 18.
- the reference block can be located anywhere, it need not coincide with the search ranges (shown in grey) designated in the reference frames 16 or 18. It may of course happen that in such cases the reference search is unsuccessful in the given reference frame(s).
- the reference frames 17, 18 are not divided into blocks for the reference search, the blocks are shown in Fig. 2 only for the sake of better overview.
- MSE(k,l ;u,v) (I n (k + i,l + j) - I n _ j (k + i+ u,l + j + v) ) z -
- MSE is the so-called Mean Square Error, quantifying in essence the comparison of individual pixels of the block to be coded and the sought reference block, the comparison being performed pixel by pixel
- indices k,l are indices determining the position of the block to be coded
- indices u,v are indices pointing to the search range located in the reference frame
- M, N are the horizontal and vertical size of the block.
- Frames located consecutively before and after the frame containing the block to be coded are uniformly called reference frames.
- a search range with a typical size of -32/32 pixels is set up in the reference frame.
- the position of the current block to be coded will be designated as the centre of the search range. That is, if the coding process is currently at position 10, 10 then this position will be the centre of the search range in the reference frame.
- the range is scanned step-by-step with the current block and the error (the above specified MSE value) is calculated in each step.
- the best reference candidate will be the position where the search gives the smallest error, that is, the block best matching the current block to be coded. Based on the error value, it can be determined whether the search can be regarded successful or not. In case of a successful search the sought reference block position is obtained in full resolution mode.
- the noise and other disturbing factors should be filtered.
- the filters perform the damping of high-frequency components depending on the predetermined sampling frequency, and are thereby able to suppress picture noise to some extent.
- Filters usually compensate errors by averaging each pixel with pixels located beside or above it, or with both. For instance, the so-called 1/2 pixel-resolution reference frame is produced by inserting a pixel between every two neighbouring pixels of the original frame, with the average value of the two neighbouring pixels. The result is substantially the same if a new pixel is created from the average values of every two neighbouring pixels, using the new pixels to create a new frame with a resolution identical with the original. This frame is practically shifted l pixel left relative to the original in case it was interpolated horizontally, and Vi pixel up in case it was interpolated vertically.
- bilinear filters For error compensation, usually bilinear filters are proposed. Bilinear filtering involves creating three interpolated (filtered) reference frames, namely one with vertical, one with horizontal, and one with both vertical and horizontal interpolation. It should be remembered that a reference frame is the decoded (reconstructed) variety of a coded intra (or inter) frame. This is done in order to prevent further frames, which are based on the given reference frame, from being further deteriorated by the quantization error present in the decoded reference frame.
- the search is canied on with l A pixel resolution (that is, it is continued in the filtered reference frame).
- a new search range is established with limits -1/+1, -1/+1, i.e. at (x +(-l/+l),y + ( - 1/+1)) , with the position of the best block, found in the first search phase (the search in the non-filtered reference), set as the centre of the range. Now the search is repeated using the new range.
- the selector picks the required interpolated reference frame according to the positions and also the particular block in the frame that is determined by the positions, and calculates the squared error relative to the current block. At the end of the search the position where the error was the smallest is retained. So, pixels of the current block will be subtracted from pixels of the block that was pointed to by the selector - when the error was smallest. This is illustrated in Fig., 3.
- a block similar to or identical with block 24 of the frame 22 to be coded is sought in -the reference frame 23. When the best matching block 25 is found, the contents thereof are fed into the Sad/Sub (comparison).. module.
- Fig. 4 shows the schematic block diagram of the coding process for an intra frame.
- the input frame 31 has Y, UV format where Y contains the luma information and UV contains the colour difference (chroma) information.
- the frame 31 comprises e.g. 8x8-pixel sized blocks.
- individual blocks are 8x8 matrices, with separate Y and UV blocks associated to a ⁇ given frame.
- Y and UV blocks are coded similarly, so they are generally represented in Fig. 4 by the matrix f(i,j).
- the result of.ther DCT transformation performed in step 31 on a given block is the matrix denoted F(u,v), also comprising 8x8 elements.
- Fig. 5 shows the coding of a matched and compensated P-type block. It is sought to find a reference block 43 for the block 42 to be coded. The block 42 is located in its original position 40, betw the current frame to be coded. The reference block 43 may be located in the position indicated with the reference numeral 41. The search is performed by stepping the block 42 to be coded through the search range 39 of the reference frame. If the best match is found, the block 42 to be coded is subtracted from the reference block 43 (or the other way round) to generate the error between the block 42 to be coded and the matched reference block 43. In this manner, the luminance 44 and chrominance 45 components of the error are obtained. These components are subjected to DCT transformation, quantization, and run-length coding in step 46, and finally, in step 47 the run-length coded data undergo further entropy coding. . • .
- the matched reference block is added to the inverse transformed block, and the inverse transformed block is written to the current position of the current frame. Because the frame obtained in this step will serve as a reference for the next frame, all blocks of the current frame are updated.
- Block classification data are needed for the decoder, because they indicate how the block was generated during the coding process. Frames are classified according to the same principle.
- the entire frame is transformed using DCT and is classified as an I-frame. If a frame uses only the preceding frame as reference, it is classified as a P-frame, while in case the frame uses both the preceding and the subsequent frames as reference, it is categorized as a B-frame.
- Fig. 6 illustrates that for a B-frame, the coding system searches for a refei C to be coded in both the preceding frame 48 and the subsequent frame 50, finally keeping as reference either the one that produced the smallest error or the linearly interpolated average of the two.
- MSE is also calculated for blocks F and C.
- the system calculates MSE for the block generated by the expression 0.5 * (P + F) and the block C, and the alternative yielding the smallest MSE is finally coded. That is, in case MSE of the block C was best relative o the preceding frame 48, then the block P of said frame 48 becomes the reference block for, the block C. In case the best result was produced by the frame 50 following frame 49, then the block F of the frame 50 becomes the reference of C, and if the best result is obtained with the average of F, and P, then both these blocks are used as references for C. If none of the results were. ood enough, then . the block is coded as an intra block. The block descriptor structure must always show the source of the reference, that is, how the block C was coded.
- the established reference positions are converted to vectors and the vectors are coded.
- the vectors specify the magnitude and the direction of the displacement of the block to be coded relative to the reference.
- the inverse DCT transformation is capable of reconstructing the original block data with a very good approximation.
- the question may arise: why use DCT when it is only a variety of FFT? The answer is that there is empirical evidence that DCT gives better function approximation for video encoding than FFT. This is illustrated with some concrete values shown as examples in Fig. 7.
- the FFT coefficients 52 and DCT coefficients 53 are produced by performing, respectively, FFT and DCT transformations on the input data 51. After quantization (that is, after discarding or truncating coefficients) the truncated FFT coefficients 54 and truncated DCT coefficients 55 are obtained. Following the inverse transformations the IFFT reconstructed data 56 and the IDCT reconstructed data 57 are obtained. Plotting the reconstructed dat and 59 it is seen that FFT is more sensitive to coefficient truncation.
- DC delta code
- the general objective of the invention is to improve the compression efficiency of the known method presented above, or more particularly, to provide efficient compression with relatively low computational load. This aim has been achieved with the inventive methods described in the independent claims attached to this description
- Fig. 1 shows a schematic block diagram of prior art MPEG encoding
- Fig. 2 illustrates the method of finding inter frames
- Fig. 3 illustrates the method for comparing the reference block and the block to be coded
- Fig. 4 shows the steps of the DCT transformation, quantization, and subsequent entropy coding
- Fig. 5 illustrates the method of subtracting the block to be coded from the reference block
- Fig. 6 illustrates the process of searching for reference frames among previous or subsequent frames
- Fig. 7 shows differences between the DCT and FFT methods
- Fig. 8 is a schematic functional diagram of the inventive hybrid video encoder
- Fig. 9 illustrates the prediction modes of intra blocks
- Fig. 10 illustrates how the prediction mode is selected from possible prediction modes
- Fig. 11 shows an embodiment of the encoding of the block partitioning
- Fig. 12 shows possible block partitionings that use sub-blocks of different sizes
- Fig. 13 illustrates the partitioning that comprises three different block sizes
- Fig. 14 illustrates the partitioning comprising two different block sizes
- Figs. 15a-c show search modes applicable with P and B frames
- Fig. 16 illustrates the reference search method that uses reduced samples, showing block sizes and block patterns used during the search process
- Fig. 17 shows how the interpolated reference frames used in the method according to the invention are generated
- Fig. 18a illustrates the selection (addressing) of neurons in the neural arithmetic coding unit according to the invention, and also shows the layout of unions within the address range,
- Fig. 18b shows the schematic diagram of the neural network applicable for an embodiment of the neural bandwidth control system according to the invention.
- ⁇ - ⁇ -
- Fig. 18c shows the schematic diagram of the neural network-applicable for another embodiment of the neural bandwidth control system according to the invention, .
- Fig. 19- shows the modification of the data path of the input data in the high dynamic-range • ⁇ -neural bandwidth control system, . • : . * v:- . * • -
- Fig. 20 illustrates the dynamic scaling method according to the invention
- Fig. 21 shows the signal/noise characteristics of the transmission realized during the inventive dynamic scaling method, compared to the characteristics without dynamic scaling
- Fig. 22 is the flowchart of the decoding process for video data coded with the method according to the invention.
- Fig. 23 is the schematic block diagram of an audio and video data coding system applying the method according to the invention.
- Fig. 24 is the schematic block diagram of a system applicable for decoding audio and video data coded according to the invention.
- FIG. 8 The logical structure (schematic functional diagram) of the hybrid coding system according to the invention is shown in Fig. 8.
- Main functional units of the system are in many ways similar to the l ⁇ iown MPEG coding system shown in Fig. 1.
- the input video data 60 in other words, the frames to be coded are fed into the frame scaling module 61, which, according to a number of different criteria (discussed below in detail), either reduces the size of the input frame or leaves it unchanged.
- the entire system is controlled by a coding control unit 62, with the exact functions thereof clarified later in the present description.
- Frames or blocks are coded according to intra or inter coding depending on intra/inter switch 63.
- Blocks are directed to the output 73 in a transformed, quantized and coded state, i DCT transformation module 64, quantization module 65 and entropy encoding module 72.
- Reference frames needed for coding inter frames are generated by an inverse quantization module 66 and an inverse DCT module 67, from which the reconstructed reference frames are fed into the frame store 70 through a de-block filter 69.
- Motion compensation i.e. production of filtered reference frames and compensated motion information 74 (motion vector and the subtracted block) is carried out by a module designated with the reference numeral 68 (with a resolution that is adjustable between l ⁇ , l A, and 1/8 pixels).
- the frame store 70 stores the - • .
- the module 71 performs the identification of the changes, and finds that block partitioning '"• which is best suited for tracking the changes in the frame, and the module 71 describes the . best block partitioning using a Quad-tree structure (detailed below).
- the entropy ⁇ .encoding , - . module 72 is a so called neural arithmetic compressor (see below). -
- prediction is used in the present description in a sense that covers reversible mathematical expressions which, exploiting actual or potentially expectable similarities, are based on operations of a substantially averaging character, and return original values with a good approximation. This means that data reconstruction can only yield approximated values of the original data, in other words, expected values are "predicted”. For practical purposes a specific function is used to perform these calculations (that usually involve averaging operations).
- the inventive compression method has an essentially hybrid nature, because it exploits both temporal and spatial redundancy.
- the implemented compression is based on a hierarchical block structure containing blocks of dynamically varying sizes.
- the reference search uses not only the frames immediately preceding and following the current frame, but further preceding and subsequent frames as well, with a maximum depth of +1 and -3 frames (that is, reference search is allowed in one following and three preceding frames).
- High-level motion compensation is realized by the method, with a resolution ranging from entropy compressor performs optimized arithmetical coding based on multi-level prediction.
- intra prediction means a reversible mathematical expression that, depending on values in one or more reference blocks, reduces or zeroes out pixel values of the current block to be coded.
- Intra prediction is based on the observation that neighbouring blocks in a given frame often have similar properties, and therefore spatial correlations among neighbouring blocks can be used for reduction.
- the information content of selected blocks can be modified on the basis of the information content of predetermined pixels of a block or blocks adjacent to the selected block using the intra prediction procedure mentioned above.
- intra prediction is realized using the vertical lines 76 of the block located before the block to be coded or the horizontal lines 77 (that is, pixel values thereof) of the block located above said block, or both of them, as it is schematically depicted in Fig. 9.
- vertical line 76 be called B, and horizontal line 77, A.
- This example uses horizontal prediction.
- the advantage of the prediction is the bit reduction of the pixels, and, as the tendency of values increasing from left to the right that could be observed in horizontal line 77 proved to be the same in the case of the block to be coded, the entropy of the data to be coded has also improved.
- the distribution of the resulting values is: 2 x "2", 2 x "1", 2 x "0", 4 x "4", 2 x "9", 1 x "7”, which shows higher symbol occurrence rate than the original block.
- a modified (predicted) block is coded instead of the original block 75 to be coded:
- the predicted block is computed by subtracting line-by-line the neighbouring horizontal line 77 A or vertical line 76 B from horizontal or vertical lines of the block 75 to be coded, or by subtracting from original pixel values the average values of A and B, the calculation typically being performed with the formula (pixel-(A+B)/2, and thereby obtaining the so-called predicted block.
- a compressibility analysis is perforate coded before carrying out the DCT transformation.
- the block is coded with DCT and entropy coding.
- the compressibility analysis reveals that it is worth examining the compressibility of the block also by dividing the block to be coded into further sub-blocks.
- the compressibility of blocks associated to the various block partition variants is analyzed, and that partitioning is selected which promises the best potential results.
- DCT transformation is carried out on the basis of the selected, potentially most favourable block partitioning.
- the possible block sizes are 16x16, 8x8, and 4x4 pixels.
- the (intra) prediction of blocks with different sizes can be carried out in a plurality of ways. These are listed on the following pages.
- T(4,0) (A(-1)+ 2 * A(0) + A(l) +2) / 4
- the proposed method uses three different block sizes and as many as 14 prediction types. It is easy to see that high computing capacity would be required if the l ⁇ iown method were applied, as all the predictions and subsequent calculations should be carried out 4 times in 16xl6-mode (that is, in case the allowed block size is 16x16), also 4 times in 8x8-mode, and 16 times in 4x4-mode.
- Block data 79 pass through multiplexer/selector 80, which, depending upon the block size, selects the current prediction mode 81 out of those above enumerated.
- Selector 82b can be set by the user to direct block data 79 of the predicted block into processing module 82c either directly or through a Hadamard transform module 82a.
- the processing module 82c produces the absolute squared sum of the block, with comparator 83 evaluating the resulting sum. In case the value is smaller than a reference threshold value, said reference threshold is overwritten by the momentary sum, with the current prediction mode being stored together with the predicted block by processing module 84.
- the multiplexer/selector 80 selects the mode for the next prediction, and the whole process is repeated until all available modes - in other words, prediction modes pertaining to different potential partitionings of the block - are tested. At the end the best predicted block, and also the prediction mode by which it was generated, is. determined.
- the predicted block is summed by processing module 82c using the following formula:
- the computational load thereof is approximately one-tenth that of the known methods* if Hadamard transformation is performed, and approximately 1/16 of the computational load required by known methods if Hadamard transform is not applied.
- blocks are partitioned according to a so-called Quad-tree structure.
- Each block of 16x16 pixels can be conceived as a root with four descendant leaves, which in turn can be further decomposed into four other descendants down to the block size of 4x4.
- the graph beside the image of the block illustrates how individual sub-blocks, or even individual pixels of the block can be identified if needed. It can be clearly seen that as the resolution increases, the amount of data needed for describing the given partitioning also increases.
- This partitioning method (allowing three different block sizes) is proposed as a default for the inventive method. In another implementation, however, this can be overridden by the user or the system itself and a mode that uses only two different block sizes can be set. This will expediently pertain to the whole frame, and cannot be mixed with the three block size-mode, preventing that one block in a given frame is coded in two-block mode and another in three- block mode.
- the intrapredictive coding in one proposed aspect of the invention a] modes using dynamically changing block sizes (I-type). Thus, during the coding of an entire I-frame it is allowed to apply blocks of different sizes (applicable block sizes are listed below). It should be noted again that the chosen mode must be indicated in the header structure of the frame.
- the 4 possible modes in this example are the following:
- the user can only select between two- and three-block modes, or, optionally the system may automatically select the optimal mode. Accordingly, the user may choose from the following options:
- Fig. 12 illustrates the block sizes used in the example described above.
- IV.3. Intrapredictive coding using three different, dynamically changing block sizes (I type)
- the size of the Y block is 16x16, or alternatively, four 8x8-pixel sub-blocks or sixteen 4x4- pixel sub-blocks are used.
- the size of the UV is either 8x8 or, corresponding to the partitioning of the Y block, either four 4x4-pixel sub-blocks or sixteen 2x2 -pixel sub-blocks are applied (see Fig. 13). It has to be noted that the block size of 2x2 pixels on the UV colour surface is allowed only in "inter" mode. Because three different block sizes are applied, a method is needed for se] size.
- one set of transformation should be carried out in both directions on a 16x16 block, four 8x8 transformation sets also in both directions, and four 4x4 transformation sets should also be performed.
- the transformation set carried out on the 16x16 block and the set of transformations (DCT and entropy coding-decoding) performed on one of the 8x8 blocks are redundant.
- precisely those transformation sets would have to be carried out unnecessarily that have the highest computational load.
- first compressibility analysis is performed on the blocks.
- this is carried out by dividing the block into four sub-blocks and computing the so-called variance for the block using the following formula:
- TH16 the variance threshold allowed for 16x16 blocks.
- TH8 and TH16 are empirical constants. As the formula shows, the "variai the amount of visual details in the block.
- the Hadamard transform can be activated before the calculation, but the TH constants will be different from those used for the calculation without the Hadamard transform.
- the block can be coded using the largest block size.
- the given sub-block can be coded in 8x8-size. Otherwise, the 8x8-pixel sub-block should be further divided into 4x4-pixel sub-blocks.
- the error caused by quantization should be taken into account when determining values for
- the value errorfactor(qp) is taken from a table indexed by qp that is determined on the basis of the quantization factor QP.
- Said quantization factor QP is provided in this case by the inventive neural control system as will be described in due course, but, alternatively QP can also be constant or be determined utilizing another known method.
- the table of error factors contains values generated from combined quantization error values, with the error factor values decreasing toward greater indices.
- higher quantization means smaller changes in TH and stricter conditions, or, put in yet another way, higher amount of visual details in a block and higher quantization causes the block size to converge toward smaller block size values. Because, .as it is explained below, coding of the block partitioning itse high amount of data, it could be expedient to examine if it is worth to allow using three different block sizes. In case only two different block sizes are allowed, much less additional information has to be coded for recording block partitioning data.
- the block partitioning is analysed over the entire frame, assigning a statistical quantity to each block size (that is, the count of blocks with every allowed block size is determined). If each occurrence rates for all . block sizes are approximately the same and we are in the three-block or automatic-choice mode, the process is continued. Otherwise, if most blocks are of one of two dominant block' sizes, these dominant sizes are determined, and the method is carried on with steps described in the chapter entitled Intrapredictive coding using two dynamically changing block sizes (Chapter IV.4. below).
- the method operates in two parts.
- compressibility analysis is performed over the entire frame on the basis of variance calculations, with the optimal block partitioning being determined as a result.
- the block partitioning is carried out with those predictions that were found for the optimal partitioning being performed, and finally the coding and the inverse transformations are carried out on each block belonging to the selected block partitioning, utilizing those predictions which proved to be the best.
- variable at the first level is called L
- second-level variables are designated with the letters ABCD.
- L is set to 1. In this case four other bits are needed for describing the sub-blocks.
- v ⁇ bit is 0.
- the value of the associated bit is 1. For example:
- the first quarter of the block is divided into 4x4-pi ⁇ el sub-blocks
- the size of the other blocks is 8x8 1 0010
- the second quarter of the block is divided into 4x4-pixel sub-blocks, with the others sized 8x8
- transformations pertaining to individual blocks are carried out and the transformed blocks are coded in the entropy coding module.
- the block will be coded with a size of 16x16, otherwise it will be divided before coding into 8x8 or 4x4-pixel sub-blocks. If, however, the two dominant block sizes are 8x8 and 4x4, the block will be coded with a size of 8x8 in case the variance values of at least three sub-blocks are smaller than TH8 (that is, the block fulfils the condition), and with a size of 4x4-pixels otherwise.
- Parts 1, 2, 3 of Fig. 14 illustrate possible sub-block combinations.
- DCT discrete cosine transform
- N is the number of elements in the given block
- c(0) 1/VN
- c(k) V(2/N)
- x(n) being the n-th element of the block to be coded.
- N-l 2 ⁇ k(2n + l) x( ⁇ ) 2 cos — — J -c(k)y(k)
- the Hadamard transform is a variant of FFT, with the great advantage that it comprises only addition and subtraction in matrix form. Thus, it can be performed much faster on a computer than DCT or FFT. It also has an important disadvantage, namely that the function is not continuous. That is why the Hadamard transform causes a visually more conspicuous error with higher-detail blocks than DCT. This
- 16x16-pixel block size requires the highest amount of calculation, it is preferable to apply Hadamard transform on 16x16 blocks whenever they need to be transformed. It should be noted here that in a specific embodiment the variance analysis performed according to the invention only allows the application of the 16x16 block size, if the given block has
- the step performed between the DCT transformation of blocks or sub-blocks and entropy coding is the so-called quantization, during which matrix elements of the DCT- transformed block are modified according to specific guidelines in order to provide for easier >5 coding with the entropy coding module.
- the quantization matrix matrixG has the same size as the DCT-transformed block, or the original block itself (e.g. 16x16, 8x8, etc.)
- the solution provided by the inventive method differs from the known MPEG quantization method in that it chooses the quantization matrix matrixd ) depending on the quantization factor.
- Known MPEG quantization uses a single matrix ( , ) quantization matrix.
- the correspondence between the quantization matrix and the QP quantization factor is implemented by dividing the entire quantization domain into N subdomains with a previously specified bandwidth range being assigned to each subdomain.
- QP was between 1 and 36, the interval being divided into multiple (in one aspect, four) subdomains according to the following: (l-4),(4-8),(8-20),(20-36).
- Bandwidth ranges assigned to these subdomains were: (6000-1000kBit/s, 800-1000kBit/s, 400-800kBit/s, 100-400kBit/s)
- optimised 4x3 matrix table (corresponding to the three different block sizes) was assigned to the divided QP domain, with individual elements of the table being entire matrix ⁇ quantization matrices.
- each row of the table comprises three cells (in other words, three matrices are assigned to each subdomain).
- the optimal table row (opi corresponds to the given bandwidth, is assigned to the new quantization factor.
- the method is also called delta pulse code modulation (DPCM), and is based on the observation that the difference between consecutive DC values is usually very small, so the difference can be coded with fewer bits than the values themselves.
- DPCM delta pulse code modulation
- the arithmetic method codes each block size with dedicated parameters (subdivision of the coding interval, upper/lower limits of coding interval, etc.).
- AC coefficients are retrieved by means of the so-called “zig-zag” table (see Fig. 4, 37) and are compressed by the known run-length method.
- the run-length method generates ordered pairs (coefficient: occurrence count), where the latter value specifies the number of occurrences of the given coefficient in the data sequence. Because the total number of pairs in a given block cannot be foreseen, either the number of pairs should be specified or an end-of-block code should be inserted after the last pair. If the coefficient value of the last pair is zero, said last pair need not be c ⁇ to write the end-of-block code into the sequence. The coefficient-occurrence count pairs are written in reverse order (occurrence coun coefficient) into the data sequence to be coded.
- the zero value of the occurrence count parameter can be used as an end-of-block code (without, of course, the corresponding coefficient) because, if all pairs are valid ones, no combination can occur where the occurrence count is zero, so the code can be safely applied as end-of-block code.
- This arrangement is incapable of indicating the situation where all data are zeroes, because if a 1 is found at position 0, we should still code a 0 for the last active (non-zero) position. So, the position value is increased by one except when all data are zeroes.
- the output data sequence will be the following: 4 63 1.1 21 32, or, if everything is zero, onl O.
- Method 1 (for coding DC coefficients) is always carried out, with coded data being output into the output data stream and subsequently being coded with the neural entropy coding module according to the invention.
- coded data being output into the output data stream and subsequently being coded with the neural entropy coding module according to the invention.
- other known entropy coding methods can also be utilized.
- I QT 0000 I [ 0 I PRED
- PRED
- QT quad tree
- the 16x16 block contains three 8x8 sub-blocks that are not subdivided, and the fourth 8x8 block (coming in fact first) has been subdivided into four 4x4 sub-blocks.
- pixel data of a given frame are converted from RGB to the so-called YUV2 format.
- Y stands for the lightness (luma) signal
- UV is the colour difference (chroma) signal.
- the physical size of UV surfaces is scaled back to half relative to Y (the loss, this loss has proved to be acceptable and does not lead to a significant decrease in quality).
- each 16x16 Y block one 8x8 U and one 8x8 V block is assigned (this is illustrated in Fig. 12).
- the output format of the data block (prior to arithmetic coding) is the following: I 0 I M I DPCM I AC I EOB or if everything is zero then
- V. Interpredictive coding using dynamically changing block sizes V.l As it has already been pointed out, coding of inter frames is redundancy. This means that the current frame is compared with the previous or the subsequent frame, and only the differences between the two frames are coded. Reference search modes of the method are illustrated in Fig. 15. The following alternatives are possible: Searching only in the three preceding P-type frames (Fig. 15a); searching only in the two preceding B-type frames (Fig. 15b); searching in preceding and subsequent motion compensated references (Fig. 15c, in this case B-type frames usually cannot be used as reference).
- the difference block is computed by subtracting individual pixels of the block to be coded from respective pixels of the block located at the position determined by the search.
- Fast search methods apply few test points (typically less than 64), and have the disadvantage of being successful only if the displacements are small (typically smaller than 1-4 pixels), that is, motions in the video footage are slow. In case of greater displacements the probability of a successful search decreases rapidly.
- Another disadvantage of fast search methods is that, even if the search appears successful, it cannot be made sure that the found position is the minimum point (the pc reference block) within the search range.
- the search method implemented in our invention can practically be regarded as a "full- search", which in case of slow motions has only slightly higher computational load than genuine full-search methods. Even in case of faster motions (greater displacements), the computational load of the inventive method is only a fraction of the load required by the standard "full-search" method.
- a search range is specified in the reference frame. Coordinates of the centre of the search range are identical to coordinates of the centre of the search sample (the block to be coded).
- the search sample that is, the block 88 to be coded is divided into smaller sub-blocks (see Fig. 16).
- good results have been produced using 4x2 sub-blocks.
- variance values are computed for each sub-block, using an expression similar to Equation II. If there are at least two sub-blocks that have a variance greater than the variance values of all the other sub-blocks, the sum of their variance is greater than a predefined empirical constant THV22, and the two sub-blocks are not located adjacently (e.g. sub-blocks 88b and 88c), then only these sub-blocks of the 16x16 block 88 are tested during the search.
- sub-blocks are merged into 4x4 sub-blocks and the above operations are repeated with two sub-blocks with constant THV42, and, if necessary, with four sub-blocks with constant THV44 90b of block 90), attempting to find in the latter case the four biggest- variance non-adjacent sub-blocks.
- the reference search is performed using five 4x4 sub-blocks located in the four corners and the centre of the 16x16 block (Fig. 16).
- the constants THV specify the minimum variance that the combined variance of the sub- blocks should equal or exceed in each of the above situations.
- the centre of the spiral is specified in the reference frame at a position conforming to the position of the search sample, and then blocks around the specified point are tested in widening cycles with the reduced search sample, described above.
- the search range is scanned with the relative position of sub-blocks of the sample pattern kept constant.
- MSE ⁇ abs(A U) - B (j) ) 2 where M is the block length.
- MSE is the so called Mean Square Error. Every time the MSE value is found to be smaller than the current smallest calculated MSE, the new MSE value, together with the current position, is written into a temporary buffer, e.g. in a 64-element circular buffer. If the buffer is full, data are overwritten starting from the first element.
- the search method is preferably fine-tuned by analyzing the obtained MSE value from other aspects as well. For instance, in case the search finds multiple positions that satisfy the conditions for a match (e.g. MSE is smaller than the maximum allowed error), and these positions are located in the same direction (on the same side) seen from the starting point, and further the error increases as the search is leaving the region of these posil can be aborted because it is highly probable that the search moves away from the optimum point.
- MSE the search finds multiple positions that satisfy the conditions for a match (e.g. MSE is smaller than the maximum allowed error)
- these positions are located in the same direction (on the same side) seen from the starting point, and further the error increases as the search is leaving the region of these posil can be aborted because it is highly probable that the search moves away from the optimum point.
- the circular buffer contains those positions that are probably the best candidates for a reference position. (Of the 1024 possible positions only a smaller number are stored, e.g. according to the above example, 64 positions.) Stored positions are then tested again but this time with the whole 16x16 block, and the position yielding the smallest error is determined.
- SAD where M is the block length, A and B stand for elements of the reference block and the block to be coded.
- the constant MAXSAD16 specifies the maximum acceptable error of the reference matched to a 16x16 block. In case the error of the block found by the search is not acceptable, the reference search is repeated in the frame preceding or following the current frame (depending on frame type). If none of the reference frames give acceptable results, the one that yielded the smallest error is chosen. Now the block is partitioned into four 4x4 sub-blocks and SAD 8 values are computed and compared with the (empirical) constant MAXSAD8 for each sub- block.
- the search is repeated in a reduced search range using a block size of 8x8, starting from the position of the given sub-block. If the error still exceeds the limit, the sub-block found the best by the 8x8-search is subdivided and the search is repeated on sub-blocks satisfying the condition SAD 4 > MAXSAD4.
- blocks where the search was unsuccessful are marked. These are to be coded as intra blocks in subsequent steps of the method.
- Searching in all reference frames means that, if the search stops with a satisfactory result in e.g. the second frame, then it is not continued in the third frame. • . . -• , ⁇
- the search is repeated in the preceding P-type reference frames, with a maximum depth of 3 frames. If the search is successful, the number of the reference frame is recorded, and the search is finished.ried Otherwise, the method selects the frame with the smallest error, divides the block into four 8x8 sub-blocks, and continues the search with those sub-blocks where the error exceeds the limit. If the current frame is B-type, search is first performed in the following P frame, then in the three preceding P frames.
- an averaged reference block is produced from the following frame and one of the preceding frames by interpolating the positions of the best reference block-candidates found in the following and in one of the preceding frames using the simple expression applied in the MPEG method. If the square error between the produced interpolated block and the original block should remain too large, the reference frame where the error was the smallest is selected, and the block is divided into four 8x8 sub-blocks.
- the search is carried on with X A, V and Vs -pixel resolution (search in filtered/interpolated reference).
- the sole exception is the interpolation mode of B-type frames where the V%, l A and Vs -pixel resolution search must be performed before the interpolation. Because the search with Vi, ⁇ A and Vs -pixel resolution is not essentially different from known methods which have been described earlier in this document, the process is not explained here.
- Each search process uses an associated reference frame.
- the search with Vz and Vi-pixel resolution uses the 1 :4 ratio interpolated reference frame, while the H -pixel resolution search utilizes the 1:8 ratio interpolated reference frame.
- the search can be performed with each block size, but only without block reduction (that is, only whole blocks and not sub-blocks are compared), which means that testing a 16x16 block involves 256 subtraction operations.
- the block to be coded is also divided into equal sized sub-blocks, and the sub-blocks are subtracted from sub-blocks of the reference block.
- the differences are then subjected to discrete cosine transformation and quantization, and AC/DC prediction is applied on the coefficients contained in the resulting blocks.
- the prediction method similarly to the prediction process of intra blocks, generates the differences between DC values of transformed blocks, and applies horizontal/vertical prediction on the first horizontal/vertical lines of AC coefficients.
- a maximum 2-bit long value, L describes the partitioning of a 16x16 block. Bit 1 is 0 if the block is not divided, and 1 if it is divided. Bit 2 has the value 1 if the block is labelled intra. This latter happens when each of the 8x8 sub-block are subdivided into 4x4 sub-blocks and more than 50% of these sub-blocks have been labelled as intra blocks. In that case the system will code the given block according to the process for coding intra blocks.
- the data prior to entropy coding are the following:
- RFIDX is the frame number of the applied reference frame MV is the motion vector
- DC is the first coefficient of the discrete cosine transform and AC designates the other DCT coefficients
- IP indicating the interpolation mode for B frames I stands for intra mode
- P is the number of intra mode prediction.
- Modes for P frames are the following:
- Modes for B frames are the following:
- the next step is coding the UV colour surfaces.
- the size of the block is in proportion with the size of the Y block and the sub-blocks thereof. In case the Y block had the size of 16x16 pixels, then the UV block is si Y block is sized 8x8 then the UV block is sized 4x4 and finally, to a 4x4 Y block the corresponding UV blocks are sized 2x2.
- the partitioning of U and V blocks is identical to the partitioning of the Y block.
- the method of partitioning of the UV blocks is performed in the same manner as the partitioning of the Y blocks.
- the DC and AC values must be sequentially written out before entropy coding, because all the other data (block partitioning descriptors, block identifiers, etc.) are already described in the Y block.
- the motion vectors are preferably represented in the shortest possible form. This can be provided by subtracting from the current motion vector the motion vector belonging to the block located beside, above, or diagonally above the current block. Of the three possible neighbouring motion vectors that one is selected which is the closest to the mean value, or in other words, is bigger than the smallest and smaller than the biggest.
- the entropy coding module utilizes binary adaptive technique. This means that input data are processed bit by bit, in the function of the occurrence frequency and the pattern of bits already received.
- the primary design aim for the method was achieving the best possible compression with relatively simple calculations.
- the inventive method can be implemented without using divisions, performing only two multiplications and a few additions and logical operations. All other operations are based on integers.
- the inventive method is a so-called arithmetic coding method.
- Arithmetic coding is a method known per se
- the basic principle of arithmetic coding involves the modification of the upper and lower limits of an interval (range) depending on received data of the coded.
- Arithmetic coder is truly efficient only if the distribution of incoming data is known to some extent, in other words, if it the probability estimate for the value of the next input data element is known to some extent.
- the following short algorithm performs arithmetic coding on a binary data stream (containing only 0 and 1 symbols).
- the current data to be coded (the next bit of the data stream) is stored in the "bit" variable.
- the upper and lower limits of the- coding interval are the variables "area[0]” and "area[l]”.
- ⁇ prob calc _next _probe(bit)
- the key factor in increasing the efficiency of coding is how the value of the "prob” variable (in the following: probe value or probe) is determined.
- the probe value is returned in the above example by the "calc_next_probe(bit)" function.
- the array "area[0,l]” contains two 32-bit values, namely the "area[0]” and "area[l]” variables that store the upper and lower limits of the coding interval.
- the interval (area[0], area[l]) is scaled with the probe value.
- the probe value is usually determined as a function of the frequency of occurrence of previously arrived bits.
- either the lower or the upper limit of the coding interval is modified with the scaled value.
- the interval can be modified (new bits can be coded) until the difference of the upper and lower limits becomes smaller than 256.
- area[l] area[l] * 256 area[0] re ⁇ [0] * 256
- Bits arriving sequentially into the buffer constitute the "window” variable (shifting left the contents of the buffer as needed).
- the "window” variable is truncated to a length of m bits to form an index (stored in the "index” variable) that points to one of the rows in the frequency table.
- the frequency table has 512 rows.
- Elements of the frequency table are specified by variables FreqTbl [index] fO and FreqTbl [index] fl. These variables show how many times the received bit has been 0 or 1 when the bit combination was the same as the bit combination currently stored in the buffer (in other words, the current bit combination is considered as an index pointing to a given row of the table).
- the probe value (the value of the "prob" variable) is calculated for the next bit. The exact formula for that should be
- the probe value is obtained, which will fall into the interval 0..65535, which is in turn analogous with the interval 0..1.
- the fraction table contains 512 elements (actually the appropriately scaled values of 1/sum, where the "sum” variable is used as an index to the table at the same time), it should be made sure that the "sum” value-does not exceed this value. ... ⁇ - • .', -.
- the method is fairly simple. Since divisors are powers of 2, divisions can be substituted by right-shift operations. The MOD operation can also be substituted by a logical AND.
- the method performs coding at different levels. In practice this affects only the probe variable. In other words, the same coding module can be used for all data types, only the parameters (N, window size, limits of the coding interval) should be adjusted. Different levels are assigned to each data type, with each level being divided into a plurality of sub-levels according to the requirements of the given data type. For instance, for coding the results of the 4x4 discrete cosine transform operation a specific type level is defined, with different sub-levels being assigned to the coding of AC and DC coefficients.
- N determines the window size, in other words the number of previously received bits that are tested together with the bit currently being received. This factor strongly affects coding efficiency, but also increases the required memory, because more memory is needed if N is increased.
- the method presented above is a fast integer-arithmetic variety of kn parameters tuned appropriately, compression efficiency is 10 % higher than that of the VLC method used in MPEG systems. So far, only methods using far more complex probe algorithms have performed significantly better than that. To improve efficiency, the frequency table should also be significantly sized up. Both the chosen probe algorithm and frequency table size affect the execution time of the method.
- the best known method for determining the probe value for data structures, utilized in the present invention would be the so-called dynamic Markov model. This, .however, works efficiently with a frequency table of at least 64 Kb. If all sub-levels applied for coding were set to this size (that is, if all variables and variable types corresponding to different block sizes were to be coded, in this manner), more than 16 Mb of memory should be allocated for the frequency tables only.
- VI.4.1 An important drawback of arithmetic coding is that for optimal-efficiency coding the occurrence probability of individual symbols appearing in the data to be coded should be known. In principle, it would be possible to take into account multiple symbols that have already occurred. It would be even more effective to watch not only individual symbols, but occurrence frequencies of different symbol groups. This, however would require the storing of a very high number of frequency values. This may be alleviated to some extent, by storing, instead of all the possible combinations of symbols which have already occurred (contexts), only those symbol combinations that have in fact occurred.
- Known coding methods primarily the PPM (prediction by partial match) method examines symbol combinations of varying length. When a received symbol is coded, first the longest allowed combination is tested. The newly arrived symbol is added to the ; and a search is performed with the current symbol group length to establish if the current group has already occurred. For instance, if the group length is 4, then the three most recent symbols will be tested together with the newly arrived one. If the symbol combination has already occurred, it is coded using the momentary or constant probability value assigned to that given symbol combination. If, on the other hand, the combination has not yet occurred, an escape symbol is coded to indicate (for the decoder) that the combination is new, and the search is carried on with a shorter combination length.
- PPM prediction by partial match
- the received symbol has not been coded in any previous combination, it is coded using the average of occurrence probabilities assigned to individual symbols.
- the counters measuring the occurrence counts of symbol combinations that is, quantifying the occurrence probabilities thereof are updated, with new combinations added if necessary.
- Mahoney (Florida Institute of Technology) took over the ⁇ network technology to binary arithmetic coding (where only 0 and 1 are the symbols to be coded), using the on-line training method known from neural network theory and applying adaptive learning rate instead of a constant one.
- this improved method is not good enough to be directly applicable for video encoding, because the memory requirement necessary for optimal coding is too high.
- Mahoney' s original method applied more than 258 kB of memory for coding a single level. If that is applied at 128 levels (for 128 different types of data structure, taking into account the predictions, block sizes, DC and AC coefficients, etc.). the total memory needed would be more than 32 MB. If, however, only a single level. were defined for video encoding, the. method would be less efficient than the conventional coding method using multiple levels. . .
- an inventive method is devised for determining the neural probe value.
- the method according to the invention can maximise entropy using as little as 1-2 kB of memory. It has been found that it is worth increasing the memory only up to approx. 16 kB, above which the improvement in coding efficiency is negligible.
- Incoming bits to be coded are fed into a shift register (buffer) with a size of 32, 64 or even more bits (in the following, an example comprising a 32-bit register is presented).
- the contents of the register constitute the so-called window.
- the value stored in the register (treated as a 32-bit integer) is dynamically divided into N parts using a hash function.
- H3 is computed from previous address values, so that the range length H3, starting from (H0+Hl+H2)-(H2*k) extends to the end of remaining memory (until 2048).
- the result of the hash function is shown in Fig. 18.
- the "register” variable is the binary value currently stored in the register 150, and H0-H2 are predetermined values. For instance, the values of H0-H2 can be 256, 512, 1024, from which the value of H3 was calculated as 1536 in a concrete situation.
- the factor k. is given by the. output of the neural network. The factor k has a default value and can fall into the interval ⁇ between 0 and 1.
- the hash function presented above maps addresses adrl-adr4 to rows of table 155, where the table 155 consists of 2048 rows. More precisely, the mapping is to subranges 151-154, which means that address 1 points to an element (table row) in subrange 151, address2 to a row in subrange 152, address3 to a row in subrange 153, and address4 to a row in subrange 154.
- An important feature of the inventive solution is that the subranges may overlap, thereby forming unions 156-158, this embodiment comprises three unions 156-158. As it can be understood from the above expressions, the sizes of the unions are determined by the factor k. The importance of unions increases from the least significant toward the most significant bits.
- the unions play an important role in the recognition of recurring bit sequences in the input stream.
- the role of the unions is also important because they make it possible that two addresses point to the same row of the table 155. Without going into much mathematical detail, suffice it to note here that, because the input is processed sequentially, if the first address points to a given neuron, then the weight thereof will change during the training process. In case another address selects the same neuron, the weight will change again together with the value of the bit frequency function assigned to it. Accordingly, the value of the bit frequency function associated to the neuron will also be modified twice. During the operation of the system both inputs will have the same weights.
- the partition subdomains 151-154 is changing dynamically according to the output of the neural network after each received bit.
- Each row of the table 155 contains two weight functions - quantization weight function WJ, Q and the scale weight function Wj,s, (or, in case the scaling factor S need not be generated, only WJ ,Q ) and a frequency-pair f(0);, f(l); defined in the same way as in the case of the discrete algorithm (that is, frequency values are updated depending -on the bit value each time a bit is received).
- the selected weight functions are modified during- the training process as follows:
- W, W. + (error * gain * eta * ⁇ ° ⁇ + ⁇ ' ) • ⁇ ⁇ - . . . ⁇
- the knowledge base of the N-input neural network applied in the method is constituted by the weight functions and frequency values stored by table 155.
- the probe value is 0 (corresponding to the probability 0.5) when the first bit arrives.
- the system generates new addresses from the current value of the regisl functions (zero in the first step) of neurons selected by the addresses are then summed up and the exponential of the sum is calculated (the result in the first step is zero as well), which becomes the new probe value.
- the next probe interval is -0.5..+0.5, so the current probe value mapped on the 0..1 interval will be 0.5.
- the above process is repeated, this time with valid addresses, with the weight functions of the neurons previously selected being modified on the basis of the error value. The process is the same for the factor k.
- the gain and the , learning rate, of the system can be dynamically adjusted.
- the gain is modified only in case the address selecting the neurons points to an address range within a union. , : That is, a gain factor is assigned to each union according to the priority of the unions.
- the learning rate is determined by the factor k and a number of external determinants.
- the learning rate specifies the slope of the learning curve for the network, that is, the degree to which the error is minimized in each training cycle.
- the neural network has two outputs: the output "probe” gives the arithmetic probe value, while the other output specifies the factor k that is applied for determining the partition of the unions.
- a possible structure of the neural network is illustrated in Fig. 18b, showing neurons of the input layer 160, and outputs 169 and 168 yielding "prob" and the factor k.
- the neural network shown in the figure has a hidden layer 162 as well, but the inventive method also works successfully with a simpler-structure network.
- frequencies f(0) and f(l) that can be regarded as counters.
- These counters similar to elements of the table FreqTbl [index], seen above, specify how many times the currently coded bit has been 0 or 1 when the given table row was selected by one of the addresses addresssl-4 pointing to subranges 151-154 produced by the subdivision of table 155.
- frequencies f(0) and f(l) may be stored in a table of N rows, and, similarly to the way described above, they should be re-scaled if their value exceeds a given limit.
- the neural network updates frequency data f(0), f(l) of the most recently addressed table rows based on the value of the next received bit, and "teaches" to the neuron weight functions stored in these rows the last value of k and the probe factors derived from frequencies f(0), f(l) with regard to the difference (error) between the predicted and received bit value.
- Bandwidth (transfer rate) control is one of the most important issue
- the information content of frames in a video frame sequence varies to a great extent, so in case the aim is to maintain a substantially even image quality, and the compression ratio has to be adjusted over a large scale to follow these changes.
- the storage capacity of the device will limit the .total amount of coded data.
- compression ratio regulation means increasing or decreasing the quantization factor.
- quantization cannot, be increased ⁇ without consequences..: Higher quantization causes image details to disappear with the decrease of discernable spatial frequencies present in the image, with the visually perceptible error increasing at the same time. At a certain point the image inevitably falls apart into blocks and other visually conspicuous image distortions occur.
- Modifying the quantization factor in accordance with the available bandwidth is known per se.
- the new quantization factor is calculated from the expected and actual length of the coded sequence and is applied on the next frame. Instead of taking into account only one frame at a time, the more sophisticated solutions calculate the new quantization factor using the average length and the expected average length of frames compressed in a given timeframe. These methods usually involve a reaction delay factor, specifying the time in which the control system should achieve the computed maximum value.
- Such methods provide constant transfer rate or constant bit rate (CBR method).
- Results can be significantly improved by setting a minimum and a maximum limit for transfer rate control, always keeping the transfer rate within these limits and attempting to achieve in the long run a dominant transfer rate eiqualling the mean value of the upper and lower limits. It is preferable that the signal-to-noise ratio between the original and re ⁇ also taken into account as a control parameter, that is, the transfer rate should be increased (within the specific limits) in case the SNR deteriorates and the transfer rate may be lowered if the SNR improves. This is the so-called variable bit rate (VBR) method.
- VBR variable bit rate
- the neural network has a backpropagation structure that is known er se.
- the network is illustrated in Fig. 18c.
- the network has N inputs 1801-
- the quantization factor Q and scaling factor S (the role of which is described in detail below in section VIII.) appear at outputs 188 and 189.
- the input of the network is the last N received data elements, which are fed sequentially to the N inputs in their order.
- the data elements are constituted by the ratio of expected and coded frame lengths, and these data elements are considered as a temporal sequence.
- Test data applied for training the network were produced using an external control system or manually prior to the beginning of the training process, with the data being reduced by complex correlation calculations, to 1000-4000 training samples.
- Training samples are devised such that they represent every frame type occurring in an ordinary video recording. These samples are "taught" to the system through- several training cycles, in a concrete implementation, 50000 cycles. After training has been completed, the network is ready for receiving and processing real data. It should be noted that in this concrete embodiment the calculations have been established such that it was not the quantization factor Q that appeared at the output of the network, but a k Q coefficient, which was in turn used for modifying the current Q.
- Control characteristics are much more important in a variable bit rate control , system than in a constant bit rate control system. ' . ' , ⁇ ,
- the compression ratio is increased, while if the quality is poorer than the average value, the compression ratio is decreased.
- the neural network control system must also take this into account. Therefore a minimum and a maximum quantization factor is specified for the control network, which may not be exceeded by the control system.
- the neural network applied for VBR mode has twice as many inputs as the network used for CBR mode, because, in addition to the expected/coded length ratio, data representing image quality are also fed to the input of the network in the form of expected/coded quality ratios: EQH/CQM, EQj/CQi, EQi + i/CQi + i, etc. where EQ is the expected quality, CQ is the coded quality, and i is the data index.
- EQ is the expected quality
- CQ is the coded quality
- i is the data index.
- determining the qu ⁇ neural network used in VBR mode may also comprise a further output 189 representing the scaling factor S (the role of the latter is described later).
- the network processes the input data of expected/coded quality and expected/coded length in a time sequence during training, and estimates the sought mapping in accordance with the specified minimum and maximum values. Training data are chosen to reflect the specified control characteristics and control slope.
- the network performs the same task as conventional control systems.
- the time slot can be said to describe a particular situation. The network will search among situations it encountered during training for the one that best matches the current one, giving the optimal response learned in conjunction with that particular situation.
- An implemented variant of the neural network substantially uses only a single formula, the so-called sigmoid sum.
- the "gain” value may be unity and can be determined by optimum search as its only role is to determine the order of magnitude of the output values. First, weight functions of neurons in the hidden layer(s) are summed with the above expression, then the calculation is performed for the weight functions of the output layers_as well.
- CBR networks except for the input data, which means that the network performing VBR mode can perform the functions of the CBR mode as well.
- CBR-mode operation that is achieved by simply providing a constant value at the quality inputs (at the maximum possible value, which inputs are kept constant during training as well).
- CBR and maximum bandwidth limit inputs are set equal and are kept constant, set to values corresponding to the desired constant bandwidth.
- This network model is a variety of the one presented in the section dealing with arithmetic coding. It only differis from the above network in .that the addressing of certain selected neurons of the network are determined not by the entire time window/time slot. This is illustrated schematically in Fig. 19, showing that input data- examined in the time window bypass the address generator.
- the elements of the. input data sequence are not 0-s and 1- s, and.therefore-.the address generation procedure described above cannot be applied directly. Instead, the input layer of the neural network consists of two parts.
- a hash function assigns a neuron, selected from an appropriate number of neurons, such as 2048 or 256, depending on whether the incoming data is expected/coded length data or expected/coded quality data.
- the inputs of the neural network are normalized data with values between 0 and 1, which are subsequently converted into integers for address generation.
- the error factor is determined as the difference of the reciprocal of the current . training quantization factor and the reciprocal of the previously calculated quantization factor,.
- . Qprev is the previous quantization factor. . . . , ⁇ •:,
- the " weight function is modified as follows: ' ⁇ • • :> ⁇ ⁇ ; ?> i ' .
- the process of the control operation is identical with the training process, except that weight modification is not activised.
- the system can be switched to CBR mode by fixing the min max bandwidth and quality data at respective constant values.
- This system operates flawlessly in multiple-step mode as well.
- the essence of this mode of operation is that in a first step, the system encodes the entire footage with a constant quantization factor (e.g. with Q set to 3) without control.
- a constant quantization factor e.g. with Q set to 3
- the subsequent second step coding is performed with the control system activated.
- This solution provides improved-precision coding because the first step specifies the degree to which each frame can be compressed, so Q need not be determined, but may be directly adapted from step 1.
- Otb neural network can be applied without any modifications.
- training can be performed using fast-training procedures.
- interpolation is highly effective in this mode: we have observed that the quality achieved in 4-6 steps by discrete control systems can be reached by the neural control system in as little as two steps.
- the multiple-step mode does not necessarily provide better quality.
- One of the advantages of this mode is that the length of the output can be adjusted to a predetermined value, corresponding e.g. to the capacity of a storage medium. ⁇
- coded video cannot be maintained with the desired video quality. This might be caused e.g. by that the preset compression ratio is extremely high for particular sequences and so the desired image quality cannot be maintained using the currently set min/max limits of compression. Such a situation typically occurs with highly detailed and action-rich footage. As an example, the first 5 minutes of the feature film "The Mummy Returns" may be mentioned. In case of this particular sequence, a bandwidth of at least 2.5 Mbit/s would be needed for good-quality MPEG compression. However, if the available bandwidth decreases to 1.5 Mbit/s, rather complex pre- and postfiltering operations would be needed both at compression and decompression time in order to eliminate errors. This would strongly decrease image sharpness, to the extent that the quality of the coded video would barely reach the "acceptable" level.
- the inventive dynamic scaling procedure is performed as follows: Each incoming frame passes through the scaling module, with a scaling factor of 0 (no scaling) at the beginning.
- the compression control system decides if the result of coding is satisfactory within the specified limits. If the result is not satisfactory, the frame size is changed (reduced) to a degree that provides acceptable quality even after decoding.
- the scaling task can be -solved, utilizing ⁇ discrete methods.' But, considering that- a 'neural network has already been applied in the inventive system for bandwidth control, the scaling may be also performed more: efficiently,, with a neural network. As the problem is closely related to the problem of bandwidth control ⁇ it has proved to be satisfactory to add another output to the neural network (see Fig. 18c) ⁇ Thus, the network has two outputs, one providing the Q coefficient of the quantization factor, the other the scaling factor S.
- the scaling procedure starts at an I- (intra) frame and lasts until the next I-frame. Scaling factors determined for frames of other types are averaged. This is shown in Figs. 20, 21 where scaling is started at A and ended at the point marked B. X.
- the invention is essentially based on the idea of providing a control system that is capable of realizing different control characteristics, and ensuring optimal compression while also taking into account the visually perceived image quality.
- Different learned characteristics can be grouped into profiles that enable the selection of the characteristics most appropriate for any given video sequence.
- discrete control systems We have also tested discrete control systems and have found that they have inadequate control dynamics. For instance, if coding was carried out in two steps using medium bandwidth, there could always be found sequences that would have needed higher compression, or scenes where it would have been satisfactory to use lower compression.
- Known discrete coding systems are closed systems, meaning that they usually perform encoding using constant functions.
- the neural system is, however, capable of taking into account the information of previous frames and performing coding control using the learned momentary characteristics.
- compression frames first pass through the scaling system (resampler module) 61 (Fig. 8).
- the system decides with which method, the coding should continue, and selects the coding mode (I, P, B) accordingly.
- the coding mode I, P, B
- the different predictions are carried out for each block, and the system, based on the result of .variance analysis, selects the prediction promising the best compressibility.
- blocks are transformed with DCT, are quantized and compressed at the appropriate level.
- a drawback of the inventive coding system is that, due to arithmetic coc errors caused by data loss in the transmission channel.
- contemporary digital transmission networks such as the Internet
- the frequency table should be updated continuously. If a transmission error occurs somewhere during the decoding process, then from that point on all data until the end of the affected frame will be damaged.
- Frame reconstruction starts by feeding encoded data into input buffer 121 and decoding the stream information block 133.
- the stream information block 133 contains the .original size of the frame and other data that do not change in the course of decoding. Thus, the stream information block 133 is decoded only once, at the beginning of the decoding process.
- frame header information is decoded (step 122).
- the frame header information block contains the current frame size, the frame type (I, P, B), quantization type, and other data pertaining exclusively to the given frame.
- the QuadTree structure describing block partitioning is decoded (step 123) together with the DCT coefficients and specific information pertaining to individual blocks (step 126).
- the inverse transformations are carried out (steps 127, 128,
- each block contains all data needed for its reconstruction (particularly the prediction type and information indicating if the block has been partitioned as a 16x16 block or as four 4x4 blocks, etc.).
- the Quad-tree structure describing block partitioning is decoded at step 123, because this tree structure contains the data needed for the reconstruction of the block. These data are used for decoding DCT coefficients, motion vectors, and prediction codes associated to individual sub-blocks, and also for the decoding of codes identifying the reference frames that were used for coding. Inverse transformations are also carried out (steps 127, 128, 129), and then those blocks of the reference frame stored in ref which blocks were selected using the motion vectors in step 124, are added to the inverse transformed blocks in step 130.
- the interpolated block is generated on the basis of the block selected by the reconstructed motion vectors in step 124 and the reference frames stored in the reference memory 125, and this interpolated block is then added to the inverse transformed block.
- Each reconstructed block is written into the current video memory 131 storing the new frame .- ⁇ , . - - .
- Both intra and inter decoded reconstructed frames are written into the reference memory 125.
- the reference memory 125 may contain more than one frame; depending on the furthest reference frame used during the coding process.
- the reference .memory. 125 is a circular buffer, meaning that the oldest frame is deleted each time a new frame is stored: * ': . ' * -
- the next step is restoring the frame size to the original in step 132.
- the frame size is restored preferably with the Lancos method. Scaling is carried out both during coding and decoding by a suitable subroutine. In case there is available a hardware video source or output device which is capable of scaling, the coder or decoder needs to specify only the frame size.
- the neural arithmetic decoder operates in substantially the same way as the neural arithmetic coding module, since, as it is known per se, in arithmetic coding the operation of the coder is the same as that of the decoder. Because the method is adaptive, a single bit is decoded at the beginning, and the new predictor is computed using the decoded bit. For computing the predictor, the neural network used for coding can be used without any alteration. The difference between the coder/decoder manifests itself only in differences in mathematical calculations that are l ⁇ iown per se, with other functional elements being fully identical.
- the inventive video coding system is capable of digitizing, efficiently coding and storing video signals. At the same time, it is also capable of transcoding already encoded digital video data for increased storage efficiency. For instance, such transcoding can be applied for reducing the bandwidth of MPEG transport packets of a DVB broadc Mbit/s to approx. 600 Kbit/s, e.g. for recording satellite or television broadcasts.
- the inventive high-efficiency coding method can also be used for storing, video sequences recorded with digital video cameras, even without the application of mechanical 5 devices.
- Inputs of the coding system are constituted by analogue video input 93, combined decoded MPEG digital video/audio packet input 94, and analogue audio input 105.
- the coding system can be operated in the following modes: , s ⁇ ⁇ .- , ⁇ - * a, coding the signals coming from analogue video input 93 and analogue -audio input 105 after digital conversion. .-•.> -. • . . b, transcoding the .digital video signal 94 and the aud signal, " which latter is separated by demultiplexer 109 from the combined digital video/audio signal packet.
- Digital video data selected by selector 96 are fed through input 97 to the coding system 98 (explained above in relation to Fig. 8).
- Coded video data 99 are multiplexed with digital audio data into a combined packet 101 by multiplexer 100.
- the digital packets, being routed by the PSC (Peripheral System Controller) 102, can be stored on hard disk 103, on an optical storage
- the digital audio signal that was selected by selector 107 is coded by encoder 108 and is stored as explained above.
- Demultiplexer 110 separates the data packet stored in semiconductor memory 104 or on hard 25 disk 103 into coded digital video data 111 and coded digital audio datal 12.
- the digital video data 111 are decoded by the decoding system 113 that was described above referring to. Fig.
- Decoded video data 114 are optionally fed into filtering and scaling module 115, and then converted into an analogue video signal 117 by a D/A converter 116.
- Digital audio data 112 separated by demultiplexer 110 are decoded by decoder 118, and are finally converted back 30 into an analogue audio signal 120 by D/A converter 119.
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
Claims
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006530613A JP2007503784A (en) | 2003-05-20 | 2004-05-20 | Hybrid video compression method |
CA002526450A CA2526450A1 (en) | 2003-05-20 | 2004-05-20 | Hybrid video compression method |
US10/557,440 US8086052B2 (en) | 2003-05-20 | 2004-05-20 | Hybrid video compression method |
EP04734055A EP1629437A2 (en) | 2003-05-20 | 2004-05-20 | Hybrid digital video compression |
CN2004800209079A CN1857001B (en) | 2003-05-20 | 2004-05-20 | Hybrid video compression method |
NO20055660A NO20055660L (en) | 2003-05-20 | 2005-11-30 | Hybrid Video Compression Procedure |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
HU0301368A HUP0301368A3 (en) | 2003-05-20 | 2003-05-20 | Method and equipment for compressing motion picture data |
HUP0301368 | 2003-05-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2004104930A2 true WO2004104930A2 (en) | 2004-12-02 |
WO2004104930A3 WO2004104930A3 (en) | 2006-05-18 |
Family
ID=89981373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/HU2004/000055 WO2004104930A2 (en) | 2003-05-20 | 2004-05-20 | Hybrid video compression method |
Country Status (9)
Country | Link |
---|---|
US (1) | US8086052B2 (en) |
EP (1) | EP1629437A2 (en) |
JP (1) | JP2007503784A (en) |
KR (1) | KR20060027795A (en) |
CN (1) | CN1857001B (en) |
CA (1) | CA2526450A1 (en) |
HU (1) | HUP0301368A3 (en) |
NO (1) | NO20055660L (en) |
WO (1) | WO2004104930A2 (en) |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100750137B1 (en) | 2005-11-02 | 2007-08-21 | 삼성전자주식회사 | Method and apparatus for encoding and decoding image |
WO2008044658A1 (en) * | 2006-10-10 | 2008-04-17 | Nippon Telegraph And Telephone Corporation | Intra prediction encoding control method and device, its program, and storage medium containing program |
WO2009036207A2 (en) * | 2007-09-11 | 2009-03-19 | Rgb Light Limited | Byte representation for enhanced image compression |
JP2010515310A (en) * | 2007-01-11 | 2010-05-06 | 華為技術有限公司 | Method and apparatus for intraframe predictive encoding / decoding |
WO2011019250A2 (en) | 2009-08-14 | 2011-02-17 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video, and method and apparatus for decoding video |
WO2011049396A2 (en) | 2009-10-23 | 2011-04-28 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video and method and apparatus for decoding video, based on hierarchical structure of coding unit |
WO2011019253A3 (en) * | 2009-08-14 | 2011-06-03 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video in consideration of scanning order of coding units having hierarchical structure, and method and apparatus for decoding video in consideration of scanning order of coding units having hierarchical structure |
WO2011019234A3 (en) * | 2009-08-13 | 2011-06-23 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding image by using large transformation unit |
WO2011087323A3 (en) * | 2010-01-14 | 2011-11-10 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding image by using large transform unit |
EP2547107A2 (en) * | 2010-04-13 | 2013-01-16 | Samsung Electronics Co., Ltd. | Video-encoding method and video-encoding apparatus based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus based on encoding units determined in accordance with a tree structure |
US8761253B2 (en) | 2008-05-28 | 2014-06-24 | Nvidia Corporation | Intra prediction mode search scheme |
US8831099B2 (en) | 2008-12-17 | 2014-09-09 | Nvidia Corporation | Selecting a macroblock encoding mode by using raw data to compute intra cost |
CN104602013A (en) * | 2009-10-01 | 2015-05-06 | Sk电信有限公司 | Video encoding apparatus and method |
US9100649B2 (en) | 2010-02-10 | 2015-08-04 | Lg Electronics Inc. | Method and apparatus for processing a video signal |
WO2016011796A1 (en) * | 2014-07-24 | 2016-01-28 | 华为技术有限公司 | Adaptive inverse-quantization method and apparatus in video coding |
RU2575868C2 (en) * | 2009-08-13 | 2016-02-20 | Самсунг Электроникс Ко., Лтд. | Method and apparatus for image encoding and decoding using large transformation unit |
EP2624557A4 (en) * | 2010-09-30 | 2016-02-24 | Samsung Electronics Co Ltd | Video encoding method for encoding hierarchical-structure symbols and a device therefor, and video decoding method for decoding hierarchical-structure symbols and a device therefor |
KR101607310B1 (en) | 2014-10-29 | 2016-03-29 | 삼성전자주식회사 | Method and apparatus for video encoding considering scanning order of coding units with hierarchical structure, and method and apparatus for video decoding considering scanning order of coding units with hierarchical structure |
US9432674B2 (en) | 2009-02-02 | 2016-08-30 | Nvidia Corporation | Dual stage intra-prediction video encoding system and method |
AU2015202094B2 (en) * | 2010-04-13 | 2016-11-17 | Samsung Electronics Co., Ltd. | Video-encoding method and video-encoding apparatus based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus based on encoding units determined in accordance with a tree structure |
US9848197B2 (en) | 2011-03-10 | 2017-12-19 | Qualcomm Incorporated | Transforms in video coding |
CN109036441A (en) * | 2014-03-24 | 2018-12-18 | 杜比国际公司 | To the method and apparatus of high-order clear stereo signal application dynamic range compression |
GB2571818A (en) * | 2018-01-13 | 2019-09-11 | Advanced Risc Mach Ltd | Selecting encoding options |
US10841590B2 (en) | 2011-01-13 | 2020-11-17 | Nec Corporation | Video decoding device, video decoding method, and program |
CN112351252A (en) * | 2020-10-27 | 2021-02-09 | 重庆中星微人工智能芯片技术有限公司 | Monitoring video coding and decoding device |
US11082697B2 (en) | 2009-07-01 | 2021-08-03 | Interdigital Vc Holdings, Inc. | Methods and apparatus for signaling intra prediction for large blocks for video encoders and decoders |
Families Citing this family (246)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7742525B1 (en) * | 2002-07-14 | 2010-06-22 | Apple Inc. | Adaptive motion estimation |
JP4263140B2 (en) * | 2003-08-04 | 2009-05-13 | Necエレクトロニクス株式会社 | Data recording apparatus, data recording method, and recording control program |
EP1605706A2 (en) * | 2004-06-09 | 2005-12-14 | Broadcom Corporation | Advanced video coding (AVC) intra prediction scheme |
US20050286777A1 (en) * | 2004-06-27 | 2005-12-29 | Roger Kumar | Encoding and decoding images |
US7792188B2 (en) * | 2004-06-27 | 2010-09-07 | Apple Inc. | Selecting encoding types and predictive modes for encoding video data |
US8111752B2 (en) | 2004-06-27 | 2012-02-07 | Apple Inc. | Encoding mode pruning during video encoding |
WO2006067731A1 (en) * | 2004-12-22 | 2006-06-29 | Koninklijke Philips Electronics N.V. | Video stream modifier |
JP2006333436A (en) * | 2005-01-07 | 2006-12-07 | Ntt Docomo Inc | Motion image encoding apparatus, method, and program, and motion image decoding apparatus, method, and program |
US7587401B2 (en) * | 2005-03-10 | 2009-09-08 | Intel Corporation | Methods and apparatus to compress datasets using proxies |
US7966190B2 (en) * | 2005-07-11 | 2011-06-21 | Lg Electronics Inc. | Apparatus and method for processing an audio signal using linear prediction |
JP4839035B2 (en) * | 2005-07-22 | 2011-12-14 | オリンパス株式会社 | Endoscopic treatment tool and endoscope system |
US8780997B2 (en) * | 2005-11-18 | 2014-07-15 | Apple Inc. | Regulation of decode-side processing based on perceptual masking |
US20070147510A1 (en) * | 2005-12-27 | 2007-06-28 | Islam Asad | Method and module for altering color space parameters of video data stream in compressed domain |
US20070160134A1 (en) * | 2006-01-10 | 2007-07-12 | Segall Christopher A | Methods and Systems for Filter Characterization |
US8014445B2 (en) * | 2006-02-24 | 2011-09-06 | Sharp Laboratories Of America, Inc. | Methods and systems for high dynamic range video coding |
US8194997B2 (en) * | 2006-03-24 | 2012-06-05 | Sharp Laboratories Of America, Inc. | Methods and systems for tone mapping messaging |
US8130822B2 (en) * | 2006-07-10 | 2012-03-06 | Sharp Laboratories Of America, Inc. | Methods and systems for conditional transform-domain residual accumulation |
US7840078B2 (en) * | 2006-07-10 | 2010-11-23 | Sharp Laboratories Of America, Inc. | Methods and systems for image processing control based on adjacent block characteristics |
US8422548B2 (en) * | 2006-07-10 | 2013-04-16 | Sharp Laboratories Of America, Inc. | Methods and systems for transform selection and management |
US8532176B2 (en) * | 2006-07-10 | 2013-09-10 | Sharp Laboratories Of America, Inc. | Methods and systems for combining layers in a multi-layer bitstream |
US8059714B2 (en) * | 2006-07-10 | 2011-11-15 | Sharp Laboratories Of America, Inc. | Methods and systems for residual layer scaling |
US7885471B2 (en) * | 2006-07-10 | 2011-02-08 | Sharp Laboratories Of America, Inc. | Methods and systems for maintenance and use of coded block pattern information |
EP2136564A1 (en) * | 2007-01-09 | 2009-12-23 | Kabushiki Kaisha Toshiba | Image encoding and decoding method and device |
US8233536B2 (en) * | 2007-01-23 | 2012-07-31 | Sharp Laboratories Of America, Inc. | Methods and systems for multiplication-free inter-layer image prediction |
US8503524B2 (en) * | 2007-01-23 | 2013-08-06 | Sharp Laboratories Of America, Inc. | Methods and systems for inter-layer image prediction |
US7826673B2 (en) * | 2007-01-23 | 2010-11-02 | Sharp Laboratories Of America, Inc. | Methods and systems for inter-layer image prediction with color-conversion |
US8665942B2 (en) * | 2007-01-23 | 2014-03-04 | Sharp Laboratories Of America, Inc. | Methods and systems for inter-layer image prediction signaling |
US7760949B2 (en) | 2007-02-08 | 2010-07-20 | Sharp Laboratories Of America, Inc. | Methods and systems for coding multiple dynamic range images |
US8767834B2 (en) | 2007-03-09 | 2014-07-01 | Sharp Laboratories Of America, Inc. | Methods and systems for scalable-to-non-scalable bit-stream rewriting |
KR101403338B1 (en) * | 2007-03-23 | 2014-06-09 | 삼성전자주식회사 | Method and apparatus for image encoding, decoding |
KR100793285B1 (en) * | 2007-05-11 | 2008-01-10 | 주식회사 코아로직 | System and method for image noise reduction with filter matrix and computer readable medium stored thereon computer executable instruction for performing the method |
JP5008484B2 (en) * | 2007-07-11 | 2012-08-22 | 株式会社日立国際電気 | Video processing method |
US7925101B2 (en) * | 2007-09-05 | 2011-04-12 | Himax Technologies Limited | Apparatus for controlling image compression |
US8228983B2 (en) * | 2007-12-04 | 2012-07-24 | Hong Kong Applied Science And Technology Research | Method and device for order-16 integer transform from order-8 integer cosine transform |
US20090154567A1 (en) * | 2007-12-13 | 2009-06-18 | Shaw-Min Lei | In-loop fidelity enhancement for video compression |
US8401071B2 (en) * | 2007-12-19 | 2013-03-19 | Sony Corporation | Virtually lossless video data compression |
US8175158B2 (en) * | 2008-01-04 | 2012-05-08 | Sharp Laboratories Of America, Inc. | Methods and systems for inter-layer image prediction parameter determination |
KR20090097013A (en) * | 2008-03-10 | 2009-09-15 | 삼성전자주식회사 | Apparatus of encoding image and apparatus of decoding image |
US8160141B2 (en) * | 2008-03-17 | 2012-04-17 | Sony Corporation | Advanced video coded pictures—reduced cost computation of an intra mode decision in the frequency domain |
US8108401B2 (en) * | 2008-03-28 | 2012-01-31 | International Business Machines Corporation | Applying various hash methods used in conjunction with a query with a group by clause |
US7827187B2 (en) * | 2008-04-04 | 2010-11-02 | International Business Machines Corporation | Frequency partitioning: entropy compression with fixed size fields |
US8199814B2 (en) * | 2008-04-15 | 2012-06-12 | Sony Corporation | Estimation of I frame average rate quantization parameter (QP) in a group of pictures (GOP) |
US8189677B2 (en) * | 2008-04-15 | 2012-05-29 | Sony Corporation | Estimation of P frame average rate quantization parameter (QP) in a group of pictures (GOP) |
US8199823B2 (en) * | 2008-04-15 | 2012-06-12 | Sony Corporation | Estimation of B frame average rate quantization parameter (QP) in a group of pictures (GOP) |
PL2288163T3 (en) * | 2008-05-07 | 2015-11-30 | Lg Electronics Inc | Method and apparatus for decoding video signal |
US8099440B2 (en) | 2008-08-15 | 2012-01-17 | International Business Machines Corporation | Method for laying out fields in a database in a hybrid of row-wise and column-wise ordering |
US8325801B2 (en) | 2008-08-15 | 2012-12-04 | Mediatek Inc. | Adaptive restoration for video coding |
KR101619972B1 (en) * | 2008-10-02 | 2016-05-11 | 한국전자통신연구원 | Apparatus and method for coding/decoding image selectivly using descrete cosine/sine transtorm |
US8503527B2 (en) | 2008-10-03 | 2013-08-06 | Qualcomm Incorporated | Video coding with large macroblocks |
KR101590633B1 (en) * | 2008-11-11 | 2016-02-02 | 삼성전자주식회사 | / /apparatus for processing video encoding and decoding using video separation based on slice level and method therefor |
US20100158105A1 (en) * | 2008-12-19 | 2010-06-24 | Nvidia Corporation | Post-processing encoding system and method |
JP5151999B2 (en) * | 2009-01-09 | 2013-02-27 | セイコーエプソン株式会社 | Image processing apparatus and image processing method |
KR20100095992A (en) * | 2009-02-23 | 2010-09-01 | 한국과학기술원 | Method for encoding partitioned block in video encoding, method for decoding partitioned block in video decoding and recording medium implementing the same |
US8370326B2 (en) | 2009-03-24 | 2013-02-05 | International Business Machines Corporation | System and method for parallel computation of frequency histograms on joined tables |
KR101527085B1 (en) * | 2009-06-30 | 2015-06-10 | 한국전자통신연구원 | Intra encoding/decoding method and apparautus |
KR101483750B1 (en) * | 2009-07-24 | 2015-01-19 | 삼성전자주식회사 | Method and apparatus for image encoding, and method and apparatus for image decoding |
JP5359657B2 (en) | 2009-07-31 | 2013-12-04 | ソニー株式会社 | Image encoding apparatus and method, recording medium, and program |
KR101452859B1 (en) | 2009-08-13 | 2014-10-23 | 삼성전자주식회사 | Method and apparatus for encoding and decoding motion vector |
KR101624649B1 (en) * | 2009-08-14 | 2016-05-26 | 삼성전자주식회사 | Method and apparatus for video encoding considering hierarchical coded block pattern, and method and apparatus for video decoding considering hierarchical coded block pattern |
KR101452860B1 (en) * | 2009-08-17 | 2014-10-23 | 삼성전자주식회사 | Method and apparatus for image encoding, and method and apparatus for image decoding |
KR101510108B1 (en) | 2009-08-17 | 2015-04-10 | 삼성전자주식회사 | Method and apparatus for encoding video, and method and apparatus for decoding video |
KR101712097B1 (en) * | 2009-08-19 | 2017-03-03 | 삼성전자 주식회사 | Method and apparatus for encoding and decoding image based on flexible orthogonal transform |
KR101694399B1 (en) * | 2009-10-07 | 2017-01-09 | 에스케이 텔레콤주식회사 | Video encoding/decoding Method and Apparatus generating/using adaptive coding pattern information, and Recording Medium therefore |
US9565439B2 (en) * | 2009-10-15 | 2017-02-07 | Nbcuniversal Media, Llc | System and method for enhancing data compression using dynamic learning and control |
KR101504887B1 (en) * | 2009-10-23 | 2015-03-24 | 삼성전자 주식회사 | Method and apparatus for video decoding by individual parsing or decoding in data unit level, and method and apparatus for video encoding for individual parsing or decoding in data unit level |
KR101452713B1 (en) | 2009-10-30 | 2014-10-21 | 삼성전자주식회사 | Method and apparatus for encoding and decoding coding unit of picture boundary |
KR101710883B1 (en) * | 2009-11-04 | 2017-02-28 | 삼성전자주식회사 | Apparatus and method for compressing and restoration image using filter information |
CN102726043B (en) * | 2009-11-06 | 2016-03-02 | 弗劳恩霍夫应用研究促进协会 | hybrid video coding |
KR101491864B1 (en) * | 2009-11-30 | 2015-02-11 | 한국전자통신연구원 | hybrid predicting apparatus for entropy encoding, and method therefor |
KR101484280B1 (en) | 2009-12-08 | 2015-01-20 | 삼성전자주식회사 | Method and apparatus for video encoding by motion prediction using arbitrary partition, and method and apparatus for video decoding by motion compensation using arbitrary partition |
KR101674078B1 (en) * | 2009-12-16 | 2016-11-08 | 삼성전자 주식회사 | Method and apparatus for block-based image denoising |
WO2011078721A1 (en) * | 2009-12-24 | 2011-06-30 | Intel Corporation | Wireless display encoder architecture |
US20110170608A1 (en) * | 2010-01-08 | 2011-07-14 | Xun Shi | Method and device for video transcoding using quad-tree based mode selection |
US8340188B2 (en) * | 2010-01-08 | 2012-12-25 | Research In Motion Limited | Method and device for motion vector estimation in video transcoding using union of search areas |
US8559519B2 (en) * | 2010-01-08 | 2013-10-15 | Blackberry Limited | Method and device for video encoding using predicted residuals |
US8315310B2 (en) * | 2010-01-08 | 2012-11-20 | Research In Motion Limited | Method and device for motion vector prediction in video transcoding using full resolution residuals |
US8358698B2 (en) * | 2010-01-08 | 2013-01-22 | Research In Motion Limited | Method and device for motion vector estimation in video transcoding using full-resolution residuals |
KR102127401B1 (en) * | 2010-01-12 | 2020-06-26 | 엘지전자 주식회사 | Processing method and device for video signals |
KR101457396B1 (en) | 2010-01-14 | 2014-11-03 | 삼성전자주식회사 | Method and apparatus for video encoding using deblocking filtering, and method and apparatus for video decoding using the same |
KR101703327B1 (en) * | 2010-01-14 | 2017-02-06 | 삼성전자 주식회사 | Method and apparatus for video encoding using pattern information of hierarchical data unit, and method and apparatus for video decoding using pattern information of hierarchical data unit |
KR101675118B1 (en) | 2010-01-14 | 2016-11-10 | 삼성전자 주식회사 | Method and apparatus for video encoding considering order of skip and split, and method and apparatus for video decoding considering order of skip and split |
CN102804782A (en) | 2010-01-15 | 2012-11-28 | 三星电子株式会社 | Method and apparatus for encoding video using variable partitions for predictive encoding, and method and apparatus for decoding video using variable partitions for predictive encoding |
CN106454380B (en) * | 2010-01-15 | 2019-04-05 | 三星电子株式会社 | The method that video is decoded |
US9369736B2 (en) | 2010-04-05 | 2016-06-14 | Samsung Electronics Co., Ltd. | Low complexity entropy-encoding/decoding method and apparatus |
KR101682147B1 (en) | 2010-04-05 | 2016-12-05 | 삼성전자주식회사 | Method and apparatus for interpolation based on transform and inverse transform |
US8982961B2 (en) | 2010-04-05 | 2015-03-17 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video by using transformation index, and method and apparatus for decoding video by using transformation index |
KR101750046B1 (en) * | 2010-04-05 | 2017-06-22 | 삼성전자주식회사 | Method and apparatus for video encoding with in-loop filtering based on tree-structured data unit, method and apparatus for video decoding with the same |
WO2011126283A2 (en) * | 2010-04-05 | 2011-10-13 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video based on internal bit depth increment, and method and apparatus for decoding video based on internal bit depth increment |
BR122020008249B1 (en) | 2010-04-13 | 2021-02-17 | Ge Video Compression, Llc | inheritance in a multitree subdivision arrangement sample |
CN106067983B (en) | 2010-04-13 | 2019-07-12 | Ge视频压缩有限责任公司 | The method of decoding data stream, the method and decoder for generating data flow |
EP3703369B1 (en) | 2010-04-13 | 2024-07-24 | GE Video Compression, LLC | Sample region merging |
CN106231337B (en) | 2010-04-13 | 2020-06-19 | Ge视频压缩有限责任公司 | Decoder, decoding method, encoder, and encoding method |
US8837592B2 (en) * | 2010-04-14 | 2014-09-16 | Mediatek Inc. | Method for performing local motion vector derivation during video coding of a coding unit, and associated apparatus |
US9106933B1 (en) | 2010-05-18 | 2015-08-11 | Google Inc. | Apparatus and method for encoding video using different second-stage transform |
JP2012019490A (en) * | 2010-07-09 | 2012-01-26 | Sony Corp | Image processing device and image processing method |
DK2955917T3 (en) * | 2010-08-17 | 2018-08-06 | Samsung Electronics Co Ltd | Video decoding method using variable tree structure transformation unit |
US8577159B2 (en) * | 2010-09-14 | 2013-11-05 | Blackberry Limited | Methods and devices for data compression with adaptive filtering in the transform domain |
WO2012034280A1 (en) * | 2010-09-16 | 2012-03-22 | Hewlett-Packard Development Company, L.P. | Digital watermarking |
ES2868133T3 (en) | 2010-09-27 | 2021-10-21 | Lg Electronics Inc | Method for block partition and decoding device |
US9532059B2 (en) | 2010-10-05 | 2016-12-27 | Google Technology Holdings LLC | Method and apparatus for spatial scalability for video coding |
US8442988B2 (en) | 2010-11-04 | 2013-05-14 | International Business Machines Corporation | Adaptive cell-specific dictionaries for frequency-partitioned multi-dimensional data |
CN107105280B (en) * | 2010-12-14 | 2020-01-03 | M&K控股株式会社 | Apparatus for encoding moving picture |
KR101506446B1 (en) * | 2010-12-15 | 2015-04-08 | 에스케이 텔레콤주식회사 | Code Motion Information Generating/Motion Information Reconstructing Method and Apparatus Using Motion Information Merge and Image Encoding/Decoding Method and Apparatus Using The Same |
CN102547268B (en) * | 2010-12-30 | 2014-12-10 | 深圳华强数码电影有限公司 | Streaming media playback method and equipment |
CN104811705B (en) | 2011-01-06 | 2018-05-08 | 三星电子株式会社 | The coding method of video and the coding/decoding method and device of device and video |
US20120176536A1 (en) * | 2011-01-12 | 2012-07-12 | Avi Levy | Adaptive Frame Rate Conversion |
US9210442B2 (en) | 2011-01-12 | 2015-12-08 | Google Technology Holdings LLC | Efficient transform unit representation |
WO2012101781A1 (en) | 2011-01-26 | 2012-08-02 | 株式会社日立製作所 | Image decoding device |
US9380319B2 (en) * | 2011-02-04 | 2016-06-28 | Google Technology Holdings LLC | Implicit transform unit representation |
KR20120098499A (en) * | 2011-02-25 | 2012-09-05 | 삼성전자주식회사 | Method and apparatus for transforming image, and method and apparatus for inverse-transforming image |
US8754929B1 (en) * | 2011-05-23 | 2014-06-17 | John Prince | Real time vergence control for 3D video capture and display |
US8989256B2 (en) | 2011-05-25 | 2015-03-24 | Google Inc. | Method and apparatus for using segmentation-based coding of prediction information |
EP2721816A4 (en) * | 2011-06-16 | 2015-03-18 | Freescale Semiconductor Inc | Method and device for encoding and decoding an image |
US8837582B2 (en) | 2011-06-22 | 2014-09-16 | Blackberry Limited | Compressing image data |
US8768082B2 (en) | 2011-06-22 | 2014-07-01 | Blackberry Limited | Compressing image data |
EP2736254B1 (en) | 2011-07-22 | 2018-07-04 | Hitachi, Ltd. | Video decoding method and image encoding method |
US9800870B2 (en) | 2011-09-16 | 2017-10-24 | Qualcomm Incorporated | Line buffer reduction for short distance intra-prediction |
US9398300B2 (en) * | 2011-10-07 | 2016-07-19 | Texas Instruments Incorporated | Method, system and apparatus for intra-prediction in video signal processing using combinable blocks |
CN103108177B (en) * | 2011-11-09 | 2016-11-23 | 华为技术有限公司 | Method for encoding images and picture coding device |
US9247257B1 (en) | 2011-11-30 | 2016-01-26 | Google Inc. | Segmentation based entropy encoding and decoding |
CN103139558B (en) * | 2011-11-30 | 2016-08-03 | 联芯科技有限公司 | The DC/AC coefficient prediction method of Video Decoder and Video Decoder |
US9762904B2 (en) * | 2011-12-22 | 2017-09-12 | Qualcomm Incorporated | Performing motion vector prediction for video coding |
US9094681B1 (en) | 2012-02-28 | 2015-07-28 | Google Inc. | Adaptive segmentation |
US10003803B1 (en) | 2012-04-18 | 2018-06-19 | Matrox Graphics Inc. | Motion-based adaptive quantization |
US10003802B1 (en) | 2012-04-18 | 2018-06-19 | Matrox Graphics Inc. | Motion-based adaptive quantization |
US9300984B1 (en) | 2012-04-18 | 2016-03-29 | Matrox Graphics Inc. | Independent processing of data streams in codec |
US8396127B1 (en) * | 2012-06-27 | 2013-03-12 | Google Inc. | Segmentation for video coding using predictive benefit |
EP2873236B1 (en) * | 2012-07-10 | 2020-10-07 | Cisco Technology, Inc. | Decoded picture buffer size management |
US9332276B1 (en) | 2012-08-09 | 2016-05-03 | Google Inc. | Variable-sized super block based direct prediction mode |
US9380298B1 (en) | 2012-08-10 | 2016-06-28 | Google Inc. | Object-based intra-prediction |
US10333547B2 (en) | 2012-08-13 | 2019-06-25 | Gurologic Microsystems Oy | Encoder and method for encoding input data using a plurality of different transformations or combinations of transformations |
US8675731B2 (en) * | 2012-08-13 | 2014-03-18 | Gurulogic Microsystems Oy | Encoder and method |
JP2014082541A (en) * | 2012-10-12 | 2014-05-08 | National Institute Of Information & Communication Technology | Method, program and apparatus for reducing data size of multiple images including information similar to each other |
TW201419862A (en) * | 2012-11-13 | 2014-05-16 | Hon Hai Prec Ind Co Ltd | System and method for splitting an image |
WO2014078068A1 (en) | 2012-11-13 | 2014-05-22 | Intel Corporation | Content adaptive transform coding for next generation video |
US9219915B1 (en) | 2013-01-17 | 2015-12-22 | Google Inc. | Selection of transform size in video coding |
WO2014120367A1 (en) | 2013-01-30 | 2014-08-07 | Intel Corporation | Content adaptive parametric transforms for coding for next generation video |
US9544597B1 (en) | 2013-02-11 | 2017-01-10 | Google Inc. | Hybrid transform in video encoding and decoding |
US9967559B1 (en) | 2013-02-11 | 2018-05-08 | Google Llc | Motion vector dependent spatial transformation in video coding |
US9794375B2 (en) * | 2013-03-14 | 2017-10-17 | Openwave Mobility, Inc. | Method, apparatus, and non-transitory computer medium for obtaining a required frame size for a compressed data frame |
KR101464980B1 (en) * | 2013-04-02 | 2014-11-25 | 삼성전자주식회사 | Method and apparatus for encoding and decoding image using large transform unit |
KR101454642B1 (en) * | 2013-04-02 | 2014-10-27 | 삼성전자주식회사 | Method and apparatus for video encoding, and method and apparatus for video decoding |
KR101452862B1 (en) * | 2013-04-02 | 2014-10-23 | 삼성전자주식회사 | Method and apparatus for video encoding, and method and apparatus for video decoding |
KR101464979B1 (en) * | 2013-04-02 | 2014-11-25 | 삼성전자주식회사 | Method and apparatus for encoding and decoding image using large transform unit |
AU2014202288B2 (en) * | 2013-04-29 | 2017-10-05 | Everi Technology Pty Ltd | Gaming machine and method employing video compression |
US9674530B1 (en) | 2013-04-30 | 2017-06-06 | Google Inc. | Hybrid transforms in video coding |
KR101454664B1 (en) * | 2013-04-30 | 2014-10-28 | 삼성전자주식회사 | Method for decoding motion vector |
EP3061253A4 (en) | 2013-10-25 | 2016-08-31 | Microsoft Technology Licensing Llc | Hash-based block matching in video and image coding |
WO2015058397A1 (en) | 2013-10-25 | 2015-04-30 | Microsoft Technology Licensing, Llc | Representing blocks with hash values in video and image coding and decoding |
US9973780B2 (en) | 2013-10-31 | 2018-05-15 | Microsoft Technology Licensing, Llc | Scaled video for pseudo-analog transmission in spatial domain |
KR101789954B1 (en) * | 2013-12-27 | 2017-10-25 | 인텔 코포레이션 | Content adaptive gain compensated prediction for next generation video coding |
KR102185857B1 (en) * | 2014-02-13 | 2020-12-02 | 삼성전자주식회사 | Method and apparatus for encoding and decoding image using modification of residual block |
US10368092B2 (en) * | 2014-03-04 | 2019-07-30 | Microsoft Technology Licensing, Llc | Encoder-side decisions for block flipping and skip mode in intra block copy prediction |
KR102185245B1 (en) * | 2014-03-04 | 2020-12-01 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | Hash table construction and availability checking for hash-based block matching |
KR101601008B1 (en) * | 2014-05-07 | 2016-03-08 | 삼성전자주식회사 | Method and apparatus for video decoding by individual parsing or decoding in data unit level, and method and apparatus for video encoding for individual parsing or decoding in data unit level |
KR101540684B1 (en) * | 2014-05-07 | 2015-07-31 | 삼성전자주식회사 | Method and apparatus for video encoding, and method and apparatus for video decoding |
KR101636459B1 (en) * | 2014-05-07 | 2016-07-06 | 삼성전자주식회사 | Method and apparatus for video encoding by motion prediction using arbitrary partition, and method and apparatus for video decoding by motion compensation using arbitrary partition |
KR101538920B1 (en) * | 2014-05-07 | 2015-07-24 | 삼성전자주식회사 | Method and apparatus for video encoding and decoding dependent on hierarchical structure of coding unit |
US10681372B2 (en) | 2014-06-23 | 2020-06-09 | Microsoft Technology Licensing, Llc | Encoder decisions based on results of hash-based block matching |
CN104123375B (en) * | 2014-07-28 | 2018-01-23 | 清华大学 | Data search method and system |
KR101643621B1 (en) * | 2014-08-05 | 2016-08-10 | 삼성전자주식회사 | Method and apparatus for video encoding, and method and apparatus for video decoding |
JP6462119B2 (en) | 2014-09-30 | 2019-01-30 | マイクロソフト テクノロジー ライセンシング,エルエルシー | Computing device |
KR101564944B1 (en) * | 2014-10-29 | 2015-11-02 | 삼성전자주식회사 | Method and apparatus for encoding and decoding image using large transform unit |
KR101601014B1 (en) * | 2014-10-29 | 2016-03-08 | 삼성전자주식회사 | Method and apparatus for video decoding by individual parsing or decoding in data unit level, and method and apparatus for video encoding for individual parsing or decoding in data unit level |
KR101644092B1 (en) * | 2014-10-29 | 2016-07-29 | 삼성전자주식회사 | Method and apparatus for video encoding, and method and apparatus for video decoding |
KR101538921B1 (en) * | 2014-10-29 | 2015-07-24 | 삼성전자주식회사 | Method and apparatus for video encoding and decoding dependent on hierarchical structure of coding unit |
KR101677275B1 (en) * | 2014-10-29 | 2016-11-17 | 삼성전자주식회사 | Method and apparatus for video encoding by motion prediction using arbitrary partition, and method and apparatus for video decoding by motion compensation using arbitrary partition |
US9565451B1 (en) | 2014-10-31 | 2017-02-07 | Google Inc. | Prediction dependent transform coding |
KR101677276B1 (en) * | 2015-01-19 | 2016-11-17 | 삼성전자주식회사 | Method and apparatus for video encoding by motion prediction using arbitrary partition, and method and apparatus for video decoding by motion compensation using arbitrary partition |
CN104780379B (en) * | 2015-01-21 | 2018-03-09 | 北京工业大学 | A kind of compression method of screen picture set |
US10516882B2 (en) | 2015-01-29 | 2019-12-24 | Vid Scale, Inc. | Intra-block copy searching |
KR101634253B1 (en) * | 2015-04-13 | 2016-06-28 | 삼성전자주식회사 | Method and apparatus for encoding and decoding image using large transform unit |
KR101687283B1 (en) * | 2015-04-13 | 2016-12-28 | 삼성전자주식회사 | Method and apparatus for video encoding and decoding dependent on hierarchical structure of coding unit |
KR101662742B1 (en) * | 2015-04-13 | 2016-10-05 | 삼성전자주식회사 | Method and apparatus for video encoding and decoding dependent on hierarchical structure of coding unit |
KR101662743B1 (en) * | 2015-04-13 | 2016-10-14 | 삼성전자주식회사 | Method and apparatus for video encoding and decoding dependent on hierarchical structure of coding unit |
KR101601016B1 (en) * | 2015-04-21 | 2016-03-08 | 삼성전자주식회사 | Method and apparatus for video decoding by individual parsing or decoding in data unit level, and method and apparatus for video encoding for individual parsing or decoding in data unit level |
KR101601017B1 (en) * | 2015-04-21 | 2016-03-08 | 삼성전자주식회사 | Method and apparatus for video decoding by individual parsing or decoding in data unit level, and method and apparatus for video encoding for individual parsing or decoding in data unit level |
WO2016199330A1 (en) * | 2015-06-12 | 2016-12-15 | パナソニックIpマネジメント株式会社 | Image coding method, image decoding method, image coding device and image decoding device |
US9769499B2 (en) | 2015-08-11 | 2017-09-19 | Google Inc. | Super-transform video coding |
US10277905B2 (en) | 2015-09-14 | 2019-04-30 | Google Llc | Transform selection for non-baseband signal coding |
WO2017088093A1 (en) * | 2015-11-23 | 2017-06-01 | Mediatek Singapore Pte. Ltd. | On the smallest allowed block size in video coding |
US9807423B1 (en) | 2015-11-24 | 2017-10-31 | Google Inc. | Hybrid transform scheme for video coding |
JP6721977B2 (en) * | 2015-12-15 | 2020-07-15 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | Audio-acoustic signal encoding device, audio-acoustic signal decoding device, audio-acoustic signal encoding method, and audio-acoustic signal decoding method |
CN105916022A (en) * | 2015-12-28 | 2016-08-31 | 乐视致新电子科技(天津)有限公司 | Video image processing method and apparatus based on virtual reality technology |
US10499056B2 (en) * | 2016-03-09 | 2019-12-03 | Sony Corporation | System and method for video processing based on quantization parameter |
US9946956B2 (en) * | 2016-06-15 | 2018-04-17 | Qualcomm Incorporated | Differential image processing |
KR101720195B1 (en) * | 2016-06-22 | 2017-03-27 | 삼성전자주식회사 | Method and apparatus for encoding and decoding image using large transform unit |
JP6261020B2 (en) | 2016-06-28 | 2018-01-17 | 株式会社Nexpoint | Screen image transfer method and screen image restoration method |
JP6229770B2 (en) * | 2016-07-25 | 2017-11-15 | ソニー株式会社 | Image processing apparatus and method, recording medium, and program |
US10390039B2 (en) | 2016-08-31 | 2019-08-20 | Microsoft Technology Licensing, Llc | Motion estimation for screen remoting scenarios |
RU2642402C1 (en) * | 2016-10-07 | 2018-01-24 | Общество с ограниченной ответственностью "СТРИМ Лабс" (ООО "СТРИМ Лабс") | Method of detecting duplicate video frames |
CN110168650A (en) * | 2016-10-12 | 2019-08-23 | 汉诺威戈特弗里德威廉莱布尼茨大学 | Method for coding and decoding the mass value of data structure |
US11095877B2 (en) | 2016-11-30 | 2021-08-17 | Microsoft Technology Licensing, Llc | Local hash-based motion estimation for screen remoting scenarios |
CN107046646B (en) * | 2016-12-30 | 2020-05-22 | 上海寒武纪信息科技有限公司 | Video coding and decoding device and method based on depth automatic encoder |
US10694181B2 (en) * | 2017-01-27 | 2020-06-23 | Qualcomm Incorporated | Bilateral filters in video coding with reduced complexity |
CN106713929B (en) * | 2017-02-16 | 2019-06-28 | 清华大学深圳研究生院 | A kind of video inter-prediction Enhancement Method based on deep neural network |
CN110546955A (en) * | 2017-02-24 | 2019-12-06 | 真实网络公司 | Motion vector selection and prediction in video coding systems and methods |
KR102332476B1 (en) * | 2017-05-26 | 2021-11-30 | 구글 엘엘씨 | Tile image compression using neural networks |
US10360695B1 (en) | 2017-06-01 | 2019-07-23 | Matrox Graphics Inc. | Method and an apparatus for enabling ultra-low latency compression of a stream of pictures |
US11144828B2 (en) | 2017-06-09 | 2021-10-12 | Htc Corporation | Training task optimization system, training task optimization method and non-transitory computer readable medium for operating the same |
KR102401851B1 (en) * | 2017-06-14 | 2022-05-26 | 삼성디스플레이 주식회사 | Method of compressing image and display apparatus for performing the same |
TWI812414B (en) * | 2017-07-13 | 2023-08-11 | 美商松下電器(美國)知識產權公司 | Coding device, decoding device and recording medium |
TWI794129B (en) * | 2017-07-13 | 2023-02-21 | 美商松下電器(美國)知識產權公司 | Encoding device, encoding method, decoding device, decoding method, and computer-readable non-transitory medium |
KR101886259B1 (en) * | 2017-07-19 | 2018-08-08 | 삼성전자주식회사 | Method and apparatus for image encoding, and computer-readable medium including encoded bitstream |
US10614613B2 (en) * | 2017-07-28 | 2020-04-07 | Nvidia Corporation | Reducing noise during rendering by performing parallel path space filtering utilizing hashing |
KR101867597B1 (en) * | 2017-09-22 | 2018-06-14 | 삼성전자주식회사 | Method and apparatus for video encoding by motion prediction using arbitrary partition, and method and apparatus for video decoding by motion compensation using arbitrary partition |
US11363302B2 (en) * | 2017-10-12 | 2022-06-14 | Mediatek Inc. | Method and apparatus of neural network for video coding |
US11195096B2 (en) * | 2017-10-24 | 2021-12-07 | International Business Machines Corporation | Facilitating neural network efficiency |
KR102589303B1 (en) | 2017-11-02 | 2023-10-24 | 삼성전자주식회사 | Method and apparatus for generating fixed point type neural network |
EP3714404A4 (en) * | 2017-11-26 | 2021-08-18 | Yeda Research and Development Co. Ltd | Signal enhancement and manipulation using a signal-specific deep network |
CN108289224B (en) * | 2017-12-12 | 2019-10-29 | 北京大学 | A kind of video frame prediction technique, device and neural network is compensated automatically |
CN108174225B (en) * | 2018-01-11 | 2021-03-26 | 上海交通大学 | Video coding and decoding in-loop filtering implementation method and system based on countermeasure generation network |
CN110062246B (en) * | 2018-01-19 | 2021-01-05 | 杭州海康威视数字技术股份有限公司 | Method and device for processing video frame data |
CN108174218B (en) * | 2018-01-23 | 2020-02-07 | 中国科学技术大学 | Video coding and decoding system based on learning |
US11902369B2 (en) | 2018-02-09 | 2024-02-13 | Preferred Networks, Inc. | Autoencoder, data processing system, data processing method and non-transitory computer readable medium |
KR101943991B1 (en) * | 2018-03-05 | 2019-01-30 | 삼성전자주식회사 | Method and apparatus for video encoding, and method and apparatus for video decoding |
US10972738B2 (en) * | 2018-03-29 | 2021-04-06 | Mediatek Inc. | Video encoding apparatus having reconstruction buffer with fixed size and/or bandwidth limitation and associated video encoding method |
EP3562162A1 (en) * | 2018-04-27 | 2019-10-30 | InterDigital VC Holdings, Inc. | Method and apparatus for video encoding and decoding based on neural network implementation of cabac |
KR102688439B1 (en) * | 2018-05-09 | 2024-07-26 | 삼성전자주식회사 | Electronic apparatus and method for controlling thereof |
KR102006804B1 (en) * | 2018-06-07 | 2019-08-02 | 삼성전자주식회사 | Method and apparatus for video encoding by motion prediction using arbitrary partition, and method and apparatus for video decoding by motion compensation using arbitrary partition |
KR101989160B1 (en) * | 2018-08-01 | 2019-06-13 | 삼성전자주식회사 | Method and apparatus for image encoding |
CN109033439B (en) * | 2018-08-15 | 2019-11-19 | 中科驭数(北京)科技有限公司 | The treating method and apparatus of stream data |
US12050461B2 (en) * | 2018-09-07 | 2024-07-30 | DoorDash, Inc. | Video system with frame synthesis |
CN109495750A (en) * | 2018-10-26 | 2019-03-19 | 西安科锐盛创新科技有限公司 | Bandwidth reduction prediction technique based on quaternary tree |
US11562046B2 (en) | 2018-11-26 | 2023-01-24 | Samsung Electronics Co., Ltd. | Neural network processor using dyadic weight matrix and operation method thereof |
KR20200082227A (en) * | 2018-12-28 | 2020-07-08 | 한국전자통신연구원 | Method and device for determining loss function for audio signal |
US11831867B2 (en) * | 2019-02-15 | 2023-11-28 | Nokia Technologies Oy | Apparatus, a method and a computer program for video coding and decoding |
CN112740677A (en) * | 2019-02-28 | 2021-04-30 | 株式会社 Xris | Method for encoding/decoding image signal and apparatus therefor |
US11122297B2 (en) | 2019-05-03 | 2021-09-14 | Google Llc | Using border-aligned block functions for image compression |
KR20200129957A (en) | 2019-05-10 | 2020-11-18 | 삼성전자주식회사 | Neural network processor compressing featuremap data and computing system comprising the same |
KR20200139909A (en) | 2019-06-05 | 2020-12-15 | 삼성전자주식회사 | Electronic apparatus and method of performing operations thereof |
CN112235583B (en) * | 2019-07-15 | 2021-12-24 | 华为技术有限公司 | Image coding and decoding method and device based on wavelet transformation |
CN113038134B (en) * | 2019-12-25 | 2023-08-01 | 武汉Tcl集团工业研究院有限公司 | Picture processing method, intelligent terminal and storage medium |
US11403782B2 (en) * | 2019-12-31 | 2022-08-02 | Alibaba Group Holding Limited | Static channel filtering in frequency domain |
US11470327B2 (en) | 2020-03-30 | 2022-10-11 | Alibaba Group Holding Limited | Scene aware video content encoding |
US11792408B2 (en) | 2020-03-30 | 2023-10-17 | Alibaba Group Holding Limited | Transcoder target bitrate prediction techniques |
US11386873B2 (en) | 2020-04-01 | 2022-07-12 | Alibaba Group Holding Limited | Method and apparatus for efficient application screen compression |
US11323732B2 (en) * | 2020-04-13 | 2022-05-03 | Tencent America LLC | Method and apparatus for video coding |
KR20210136476A (en) | 2020-05-07 | 2021-11-17 | 삼성전자주식회사 | Compressing device and method using parameters of a quad-tree method |
US11205077B1 (en) * | 2020-05-29 | 2021-12-21 | Arm Limited | Operating on a video frame to generate a feature map of a neural network |
US11202085B1 (en) | 2020-06-12 | 2021-12-14 | Microsoft Technology Licensing, Llc | Low-cost hash table construction and hash-based block matching for variable-size blocks |
US12047575B2 (en) * | 2020-12-03 | 2024-07-23 | Intel Corporation | Methods, apparatus, and articles of manufacture for multi-symbol equiprobable mode entropy coding |
EP4311238A4 (en) * | 2021-04-23 | 2024-08-28 | Panasonic Ip Corp America | Image decoding method, image coding method, image decoder, and image encoder |
CN113781588A (en) * | 2021-07-01 | 2021-12-10 | 杭州未名信科科技有限公司 | Intra-frame coding unit size dividing method based on neural network |
GB2609218B (en) | 2021-07-22 | 2023-08-30 | Imagination Tech Ltd | Coding blocks of pixels |
CN114786011B (en) * | 2022-06-22 | 2022-11-15 | 苏州浪潮智能科技有限公司 | JPEG image compression method, system, equipment and storage medium |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6529634B1 (en) * | 1999-11-08 | 2003-03-04 | Qualcomm, Inc. | Contrast sensitive variance based adaptive block size DCT image compression |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2830723B2 (en) * | 1993-12-20 | 1998-12-02 | 松下電器産業株式会社 | Noise removal device |
JPH08294001A (en) * | 1995-04-20 | 1996-11-05 | Seiko Epson Corp | Image processing method and image processing unit |
KR100371130B1 (en) * | 1996-05-28 | 2003-02-07 | 마쯔시다덴기산교 가부시키가이샤 | Image predictive decoding apparatus and method thereof, and image predictive cording apparatus and method thereof |
US6600836B1 (en) * | 2000-01-28 | 2003-07-29 | Qualcomm, Incorporated | Quality based image compression |
EP1246469A3 (en) * | 2001-03-27 | 2005-04-13 | Koninklijke Philips Electronics N.V. | Method of simoultaneously downconverting and decoding of video |
JP4193406B2 (en) * | 2002-04-16 | 2008-12-10 | 三菱電機株式会社 | Video data conversion apparatus and video data conversion method |
US7330509B2 (en) * | 2003-09-12 | 2008-02-12 | International Business Machines Corporation | Method for video transcoding with adaptive frame rate control |
-
2003
- 2003-05-20 HU HU0301368A patent/HUP0301368A3/en unknown
-
2004
- 2004-05-20 EP EP04734055A patent/EP1629437A2/en not_active Withdrawn
- 2004-05-20 CN CN2004800209079A patent/CN1857001B/en not_active Expired - Fee Related
- 2004-05-20 CA CA002526450A patent/CA2526450A1/en not_active Abandoned
- 2004-05-20 JP JP2006530613A patent/JP2007503784A/en active Pending
- 2004-05-20 US US10/557,440 patent/US8086052B2/en not_active Expired - Fee Related
- 2004-05-20 KR KR1020057022258A patent/KR20060027795A/en not_active Application Discontinuation
- 2004-05-20 WO PCT/HU2004/000055 patent/WO2004104930A2/en active Application Filing
-
2005
- 2005-11-30 NO NO20055660A patent/NO20055660L/en not_active Application Discontinuation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6529634B1 (en) * | 1999-11-08 | 2003-03-04 | Qualcomm, Inc. | Contrast sensitive variance based adaptive block size DCT image compression |
Non-Patent Citations (10)
Title |
---|
CHAN Y-L ET AL: "A BLOCK MOTION VECTOR ESTIMATION USING PATTERN BASED PIXEL DECIMATION" ISCAS '97. PROCEEDINGS OF THE 1997 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS. CIRCUITS AND SYSTEMS IN THE INFORMATION AGE. HONG KONG, JUNE 9 - 12, 1997, IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS, NEW-YORK, NY : IEEE, US, vol. VOL. 2, 9 June 1997 (1997-06-09), pages 1153-1156, XP000832406 ISBN: 0-7803-3584-8 * |
CHENG-TIE CHEN ED - INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS: "ADAPTIVE TRANSFORM CODING VIA QUADTREE-BASED VARIABLE BLOCKSIZE DCT" MULTIDIMENSIONAL SIGNAL PROCESSING, AUDIO AND ELECTROACOUSTICS. GLASGOW, MAY 23 - 26, 1989, INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH & SIGNAL PROCESSING. ICASSP, NEW YORK, IEEE, US, vol. VOL. 3 CONF. 14, 23 May 1989 (1989-05-23), pages 1854-1857, XP000089238 * |
M. MAHONEY: "Neural Network Compression FAQ"[Online] 25 March 2000 (2000-03-25), XP002359427 Retrieved from the Internet: URL:www.cs.fit.edu/~mmahoney/compression/f aq.html> [retrieved on 2005-12-15] * |
M. WIEN, A. DAHLHOFF: "hybrid video coding using variable size transforms" PROCEEDINGS OF SPIE, vol. 4671, 2002, pages 1040-1051, XP002338961 * |
MAHONEY M V: "Fast text compression with neural networks" FLAIRS 2000: 13TH INTERNATIONAL FLAIRS CONFERENCE, 22 May 2000 (2000-05-22), pages 230-234, XP008057595 Orlando, FL, USA * |
MATTHIAS LARSSON CARLANDER: "JPEG2000 Verification model 9.1: visual frequency weighting" ISO/IEC JTC1/SC29/WG1 N2165, 28 June 2001 (2001-06-28), pages 200-204, XP002359425 * |
MOSCHETTI F ET AL: "A fast block matching for SIMD processors using subsampling" CIRCUITS AND SYSTEMS, 2000. PROCEEDINGS. ISCAS 2000 GENEVA. THE 2000 IEEE INTERNATIONAL SYMPOSIUM ON MAY 28-31, 2000, PISCATAWAY, NJ, USA,IEEE, vol. 4, 28 May 2000 (2000-05-28), pages 321-324, XP010503602 ISBN: 0-7803-5482-6 * |
OLIVER M A ET AL: "OPERATIONS ON QUADTREE ENCODED IMAGES" COMPUTER JOURNAL, OXFORD UNIVERSITY PRESS, SURREY, GB, vol. 26, no. 1, 1 February 1983 (1983-02-01), pages 83-91, XP000601538 ISSN: 0010-4620 * |
S ATEK, T VLADIMIROVA, P SWEENEY: "lossless compression for small satellite on-board imaging" 9TH INTERNATIONAL WORKSHOP ON SYSTEMS, SIGNALS AND IMAGE IWSSIP'02), 8 November 2002 (2002-11-08), pages 249-255, XP008057421 Manchester * |
WIEGAND T (EDITOR): "N4920 Text of Final Committee Draft of Joint Video Specification (ITU-T Rec. H.264 ISO/IEC 14496 - 10AVC) - Annex C Hypothetical Reference Decoder" ISO/IEC JTC1/SC29/WG11 MPEG02/N4920, XX, XX, July 2002 (2002-07), pages 157-161, XP002321520 * |
Cited By (146)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100750137B1 (en) | 2005-11-02 | 2007-08-21 | 삼성전자주식회사 | Method and apparatus for encoding and decoding image |
KR101242013B1 (en) * | 2006-10-10 | 2013-03-12 | 니폰덴신뎅와 가부시키가이샤 | Intra prediction encoding control method and device, its program, and storage medium containing program |
JPWO2008044658A1 (en) * | 2006-10-10 | 2010-02-12 | 日本電信電話株式会社 | INTRA PREDICTION ENCODING CONTROL METHOD AND DEVICE, ITS PROGRAM, AND STORAGE MEDIUM CONTAINING THE PROGRAM |
US8228998B2 (en) | 2006-10-10 | 2012-07-24 | Nippon Telegraph And Telephone Corporation | Intra prediction encoding control method and apparatus, program therefor, and storage medium which stores the program |
TWI386064B (en) * | 2006-10-10 | 2013-02-11 | Nippon Telegraph & Telephone | Intra prediction encoding control method and apparatus, program therefor, and storage medium for storing the program |
WO2008044658A1 (en) * | 2006-10-10 | 2008-04-17 | Nippon Telegraph And Telephone Corporation | Intra prediction encoding control method and device, its program, and storage medium containing program |
JP2014140169A (en) * | 2006-10-10 | 2014-07-31 | Nippon Telegr & Teleph Corp <Ntt> | Intra prediction encoding control method, intra prediction encoding controller, program of the same and recording medium in which program is recorded |
JP2010515310A (en) * | 2007-01-11 | 2010-05-06 | 華為技術有限公司 | Method and apparatus for intraframe predictive encoding / decoding |
WO2009036207A3 (en) * | 2007-09-11 | 2009-05-14 | Rgb Light Ltd | Byte representation for enhanced image compression |
WO2009036207A2 (en) * | 2007-09-11 | 2009-03-19 | Rgb Light Limited | Byte representation for enhanced image compression |
US8761253B2 (en) | 2008-05-28 | 2014-06-24 | Nvidia Corporation | Intra prediction mode search scheme |
US8831099B2 (en) | 2008-12-17 | 2014-09-09 | Nvidia Corporation | Selecting a macroblock encoding mode by using raw data to compute intra cost |
US9432674B2 (en) | 2009-02-02 | 2016-08-30 | Nvidia Corporation | Dual stage intra-prediction video encoding system and method |
US12120307B2 (en) | 2009-07-01 | 2024-10-15 | Interdigital Vc Holdings, Inc. | Methods and apparatus for signaling intra prediction for large blocks for video encoders and decoders |
US11082697B2 (en) | 2009-07-01 | 2021-08-03 | Interdigital Vc Holdings, Inc. | Methods and apparatus for signaling intra prediction for large blocks for video encoders and decoders |
US11936876B2 (en) | 2009-07-01 | 2024-03-19 | Interdigital Vc Holdings, Inc. | Methods and apparatus for signaling intra prediction for large blocks for video encoders and decoders |
RU2575868C2 (en) * | 2009-08-13 | 2016-02-20 | Самсунг Электроникс Ко., Лтд. | Method and apparatus for image encoding and decoding using large transformation unit |
US8842921B2 (en) | 2009-08-13 | 2014-09-23 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding image by using large transformation unit |
EP2866442A1 (en) * | 2009-08-13 | 2015-04-29 | Samsung Electronics Co., Ltd | Method and apparatus for encoding and decoding image by using large transformation unit |
US8204320B2 (en) | 2009-08-13 | 2012-06-19 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding image by using large transformation unit |
RU2543519C2 (en) * | 2009-08-13 | 2015-03-10 | Самсунг Электроникс Ко., Лтд. | Method and apparatus for image encoding and decoding using large transformation unit |
EP2890123A1 (en) * | 2009-08-13 | 2015-07-01 | Samsung Electronics Co., Ltd | Method and apparatus for encoding and decoding image by using large transformation unit |
US8971650B2 (en) | 2009-08-13 | 2015-03-03 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding image by using large transformation unit |
US8971649B2 (en) | 2009-08-13 | 2015-03-03 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding image by using large transformation unit |
US8515190B2 (en) | 2009-08-13 | 2013-08-20 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding image by using large transformation unit |
US8311348B2 (en) | 2009-08-13 | 2012-11-13 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding image by using large transformation unit |
EP3448039A1 (en) * | 2009-08-13 | 2019-02-27 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding image by using large transformation unit |
EP2629518A3 (en) * | 2009-08-13 | 2013-12-18 | Samsung Electronics Co., Ltd | Method and apparatus for encoding and decoding image by using large transformation unit |
EP2629526A3 (en) * | 2009-08-13 | 2013-12-18 | Samsung Electronics Co., Ltd | Method and apparatus for encoding and decoding image by using large transformation unit |
US8798381B2 (en) | 2009-08-13 | 2014-08-05 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding image by using large transformation unit |
WO2011019234A3 (en) * | 2009-08-13 | 2011-06-23 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding image by using large transformation unit |
US8792741B2 (en) | 2009-08-13 | 2014-07-29 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding image by using large transformation unit |
US8792737B2 (en) | 2009-08-13 | 2014-07-29 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding image by using large transformation unit |
AU2010283113B2 (en) * | 2009-08-13 | 2014-07-03 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding image by using large transformation unit |
EP3282696A1 (en) * | 2009-08-13 | 2018-02-14 | Samsung Electronics Co., Ltd. | Method for decoding and apparatus for encoding images by using large transformation units |
US9386325B2 (en) | 2009-08-13 | 2016-07-05 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding image by using large transformation unit |
CN103220524A (en) * | 2009-08-14 | 2013-07-24 | 三星电子株式会社 | Method and apparatus for encoding video, and method and apparatus for decoding video |
US9307238B2 (en) | 2009-08-14 | 2016-04-05 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video, and method and apparatus for decoding video |
EP2665267A3 (en) * | 2009-08-14 | 2014-02-19 | Samsung Electronics Co., Ltd | Method and apparatus for encoding video, and method and apparatus for decoding video |
EP2452494A4 (en) * | 2009-08-14 | 2014-02-19 | Samsung Electronics Co Ltd | Method and apparatus for encoding video, and method and apparatus for decoding video |
US8644385B2 (en) | 2009-08-14 | 2014-02-04 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video in consideration of scanning order of coding units having hierarchical structure, and method and apparatus for decoding video in consideration of scanning order of coding units having hierarchical structure |
US8634465B2 (en) | 2009-08-14 | 2014-01-21 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video in consideration of scanning order of coding units having hierarchical structure, and method and apparatus for decoding video in consideration of scanning order of coding units having hierarchical structure |
US8817877B2 (en) | 2009-08-14 | 2014-08-26 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video in consideration of scanning order of coding units having hierarchical structure, and method and apparatus for decoding video in consideration of scanning order of coding units having hierarchical structure |
RU2526861C2 (en) * | 2009-08-14 | 2014-08-27 | Самсунг Электроникс Ко., Лтд. | Method and apparatus for encoding video based on scanning order of hierarchical encoding units, and method and apparatus for decoding video based on scanning order of hierarchical encoding units |
US8824551B2 (en) | 2009-08-14 | 2014-09-02 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video in consideration of scanning order of coding units having hierarchical structure, and method and apparatus for decoding video in consideration of scanning order of coding units having hierarchical structure |
US8831097B2 (en) | 2009-08-14 | 2014-09-09 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video in consideration of scanning order of coding units having hierarchical structure, and method and apparatus for decoding video in consideration of scanning order of coding units having hierarchical structure |
US8831098B2 (en) | 2009-08-14 | 2014-09-09 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video in consideration of scanning order of coding units having hierarchical structure, and method and apparatus for decoding video in consideration of scanning order of coding units having hierarchical structure |
US8532185B2 (en) | 2009-08-14 | 2013-09-10 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video in consideration of scanning order of coding units having hierarchical structure, and method and apparatus for decoding video in consideration of scanning order of coding units having hierarchical structure |
US8526497B2 (en) | 2009-08-14 | 2013-09-03 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video, and method and apparatus for decoding video |
EP3101895A1 (en) * | 2009-08-14 | 2016-12-07 | Samsung Electronics Co., Ltd. | Method for decoding video |
US8842734B2 (en) | 2009-08-14 | 2014-09-23 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video, and method and apparatus for decoding video |
RU2597483C2 (en) * | 2009-08-14 | 2016-09-10 | Самсунг Электроникс Ко., Лтд. | Method and apparatus for encoding video based on scanning order of hierarchical encoding units, and method and apparatus for decoding video based on scanning order of hierarchical encoding units |
EP3267683A1 (en) * | 2009-08-14 | 2018-01-10 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video |
EP2804383A1 (en) * | 2009-08-14 | 2014-11-19 | Samsung Electronics Co., Ltd | Method and apparatus for encoding video, and method and apparatus for decoding video |
US8897363B2 (en) | 2009-08-14 | 2014-11-25 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video in consideration of scanning order of coding units having hierarchical structure, and method and apparatus for decoding video in consideration of scanning order of coding units having hierarchical structure |
WO2011019250A2 (en) | 2009-08-14 | 2011-02-17 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video, and method and apparatus for decoding video |
USRE48224E1 (en) | 2009-08-14 | 2020-09-22 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video in consideration of scanning order of coding units having hierarchical structure, and method and apparatus for decoding video in consideration of scanning order of coding units having hierarchical structure |
US8953682B2 (en) | 2009-08-14 | 2015-02-10 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video, and method and apparatus for decoding video |
US9374579B2 (en) | 2009-08-14 | 2016-06-21 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video, and method and apparatus for decoding video |
TWI563834B (en) * | 2009-08-14 | 2016-12-21 | Samsung Electronics Co Ltd | Method and apparatus for encoding video, and method and apparatus for decoding video |
US8472521B2 (en) | 2009-08-14 | 2013-06-25 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video, and method and apparatus for decoding video |
RU2582572C2 (en) * | 2009-08-14 | 2016-04-27 | Самсунг Электроникс Ко., Лтд. | Method and apparatus for encoding video and method and apparatus for decoding video |
US8374241B2 (en) | 2009-08-14 | 2013-02-12 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video, and method and apparatus for decoding video |
RU2582071C2 (en) * | 2009-08-14 | 2016-04-20 | Самсунг Электроникс Ко., Лтд. | Method and apparatus for encoding video based on scanning order of hierarchical encoding units, and method and apparatus for decoding video based on scanning order of hierarchical encoding units |
US8259803B2 (en) | 2009-08-14 | 2012-09-04 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video, and method and apparatus for decoding video |
US9313489B2 (en) | 2009-08-14 | 2016-04-12 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video, and method and apparatus for decoding video |
US9313490B2 (en) | 2009-08-14 | 2016-04-12 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video, and method and apparatus for decoding video |
EP2882188A3 (en) * | 2009-08-14 | 2015-06-17 | Samsung Electronics Co., Ltd | Method and apparatus for encoding video, and method and apparatus for decoding video |
EP2452494A2 (en) * | 2009-08-14 | 2012-05-16 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video, and method and apparatus for decoding video |
EP2863639A3 (en) * | 2009-08-14 | 2015-07-08 | Samsung Electronics Co., Ltd | Method and apparatus for encoding video, and method and apparatus for decoding video |
RU2579441C2 (en) * | 2009-08-14 | 2016-04-10 | Самсунг Электроникс Ко., Лтд. | Method and apparatus for encoding video based on scanning order of hierarchical encoding units, and method and apparatus for decoding video based on scanning order of hierarchical encoding units |
EP2665268A3 (en) * | 2009-08-14 | 2014-02-19 | Samsung Electronics Co., Ltd | Method and apparatus for encoding video, and method and apparatus for decoding video |
WO2011019253A3 (en) * | 2009-08-14 | 2011-06-03 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video in consideration of scanning order of coding units having hierarchical structure, and method and apparatus for decoding video in consideration of scanning order of coding units having hierarchical structure |
US9137536B2 (en) | 2009-08-14 | 2015-09-15 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video in consideration of scanning order of coding units having hierarchical structure, and method and apparatus for decoding video in consideration of scanning order of coding units having hierarchical structure |
WO2011019250A3 (en) * | 2009-08-14 | 2011-06-03 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video, and method and apparatus for decoding video |
EP3448026A1 (en) * | 2009-08-14 | 2019-02-27 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video, and corresponding storage medium |
CN104602013A (en) * | 2009-10-01 | 2015-05-06 | Sk电信有限公司 | Video encoding apparatus and method |
CN104602013B (en) * | 2009-10-01 | 2017-10-31 | Sk电信有限公司 | Video coding apparatus and method |
US9414055B2 (en) | 2009-10-23 | 2016-08-09 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video and method and apparatus for decoding video, based on hierarchical structure of coding unit |
EP2940997A1 (en) * | 2009-10-23 | 2015-11-04 | Samsung Electronics Co., Ltd | Method and apparatus for encoding video and method and apparatus for decoding video, based on hierarchical structure of coding unit |
EP3261344A1 (en) * | 2009-10-23 | 2017-12-27 | Samsung Electronics Co., Ltd | Apparatus for decoding video, based on hierarchical structure of coding unit |
WO2011049396A2 (en) | 2009-10-23 | 2011-04-28 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video and method and apparatus for decoding video, based on hierarchical structure of coding unit |
EP2940996A1 (en) * | 2009-10-23 | 2015-11-04 | Samsung Electronics Co., Ltd | Method and apparatus for encoding video and method and apparatus for decoding video, based on hierarchical structure of coding unit |
EP2897364A1 (en) * | 2009-10-23 | 2015-07-22 | Samsung Electronics Co., Ltd | Method and apparatus for encoding video and method and apparatus for decoding video, based on hierarchical structure of coding unit |
EP2489186A4 (en) * | 2009-10-23 | 2015-07-08 | Samsung Electronics Co Ltd | Method and apparatus for encoding video and method and apparatus for decoding video, based on hierarchical structure of coding unit |
EP2838267A3 (en) * | 2009-10-23 | 2015-04-08 | Samsung Electronics Co., Ltd | Method and apparatus for encoding video and method and apparatus for decoding video, based on hierarchical structure of coding unit |
US8971653B2 (en) | 2010-01-14 | 2015-03-03 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding image by using large transform unit |
EP3468202A1 (en) * | 2010-01-14 | 2019-04-10 | Samsung Electronics Co., Ltd. | Method for encoding an image by using a large transform unit |
US8971654B2 (en) | 2010-01-14 | 2015-03-03 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding image by using large transform unit |
EP3300371A1 (en) * | 2010-01-14 | 2018-03-28 | Samsung Electronics Co., Ltd. | Method for encoding and decoding and apparatus for encoding an image by using a large transform unit |
US10225551B2 (en) | 2010-01-14 | 2019-03-05 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding image by using large transform unit |
US8923641B2 (en) | 2010-01-14 | 2014-12-30 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding image by using large transform unit |
US8891893B2 (en) | 2010-01-14 | 2014-11-18 | Samsung Electronics Co. Ltd. | Method and apparatus for encoding and decoding image by using large transform unit |
US8885959B2 (en) | 2010-01-14 | 2014-11-11 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding image by using large transform unit |
US9942549B2 (en) | 2010-01-14 | 2018-04-10 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding image by using large transform unit |
WO2011087323A3 (en) * | 2010-01-14 | 2011-11-10 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding image by using large transform unit |
US9584821B2 (en) | 2010-01-14 | 2017-02-28 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding image by using large transform unit |
US8842927B2 (en) | 2010-01-14 | 2014-09-23 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding image by using large transform unit |
US9100649B2 (en) | 2010-02-10 | 2015-08-04 | Lg Electronics Inc. | Method and apparatus for processing a video signal |
EP2547108A4 (en) * | 2010-04-13 | 2014-07-02 | Samsung Electronics Co Ltd | Video-encoding method and video-encoding apparatus using prediction units based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus using prediction units based on encoding units determined in accordance with a tree structure |
RU2676456C1 (en) * | 2010-04-13 | 2018-12-28 | Самсунг Электроникс Ко., Лтд. | Method of coding video and video coding device using prediction blocks on basis of coding blocks defined in conformity with tree-shaped structure, and method for decoding video and video decoding device using units of predication on the basis of coding units defined in conformity with tree-like structure |
US9565438B2 (en) | 2010-04-13 | 2017-02-07 | Samsung Electronics Co., Ltd. | Video-encoding method and video-encoding apparatus using prediction units based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus using prediction units based on encoding units determined in accordance with a tree structure |
AU2015202094B2 (en) * | 2010-04-13 | 2016-11-17 | Samsung Electronics Co., Ltd. | Video-encoding method and video-encoding apparatus based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus based on encoding units determined in accordance with a tree structure |
RU2612576C2 (en) * | 2010-04-13 | 2017-03-09 | Самсунг Электроникс Ко., Лтд. | Video encoding method and video encoding apparatus and video decoding method and video decoding apparatus, performing deblocking filtration on basis of coding units of tree structure |
US9654790B2 (en) | 2010-04-13 | 2017-05-16 | Samsung Electronics Co., Ltd. | Video-encoding method and video-encoding apparatus based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus based on encoding units determined in accordance with a tree structure |
US9712822B2 (en) | 2010-04-13 | 2017-07-18 | Samsung Electronics Co., Ltd. | Video encoding method and video encoding apparatus and video decoding method and video decoding apparatus, which perform deblocking filtering based on tree-structure encoding units |
US9712823B2 (en) | 2010-04-13 | 2017-07-18 | Samsung Electronics Co., Ltd. | Video-encoding method and video-encoding apparatus using prediction units based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus using prediction units based on encoding units determined in accordance with a tree structure |
US9485511B2 (en) | 2010-04-13 | 2016-11-01 | Samsung Electronics Co., Ltd. | Video-encoding method and video-encoding apparatus based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus based on encoding units determined in accordance with a tree structure |
AU2017200713B2 (en) * | 2010-04-13 | 2017-12-14 | Samsung Electronics Co., Ltd. | Video-encoding method and video-encoding apparatus based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus based on encoding units determined in accordance with a tree structure |
EP2547107A2 (en) * | 2010-04-13 | 2013-01-16 | Samsung Electronics Co., Ltd. | Video-encoding method and video-encoding apparatus based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus based on encoding units determined in accordance with a tree structure |
RU2598586C2 (en) * | 2010-04-13 | 2016-09-27 | Самсунг Электроникс Ко., Лтд. | Method of encoding video and device for encoding video based on coding units defined according to tree structure, and method of decoding video and device for decoding video based on coding units defined according to tree structure |
RU2597471C2 (en) * | 2010-04-13 | 2016-09-10 | Самсунг Электроникс Ко., Лтд. | Method of encoding video and device for encoding video based on coding units defined according to tree structure, and method of decoding video and device for decoding video based on coding units defined according to tree structure |
RU2641243C1 (en) * | 2010-04-13 | 2018-01-16 | Самсунг Электроникс Ко., Лтд. | Video encoding method and video encoding device for encoding video using prediction units based on encoding units defined according to tree structure and video decoding method and video decoding device based on coding units defined according to tree-like structure |
EP2547108A2 (en) * | 2010-04-13 | 2013-01-16 | Samsung Electronics Co., Ltd. | Video-encoding method and video-encoding apparatus using prediction units based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus using prediction units based on encoding units determined in accordance with a tree structure |
RU2647690C1 (en) * | 2010-04-13 | 2018-03-16 | Самсунг Электроникс Ко., Лтд. | Method of video coding and video coding device with use of prediction blocks on the basis of coding units defined in accordance with the ancient structure, and the method of decoding video and decoding device with the use of prediction blocks on the basis of coding units defined in accordance with the ancient structure |
EP2547107A4 (en) * | 2010-04-13 | 2014-07-02 | Samsung Electronics Co Ltd | Video-encoding method and video-encoding apparatus based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus based on encoding units determined in accordance with a tree structure |
US9936216B2 (en) | 2010-04-13 | 2018-04-03 | Samsung Electronics Co., Ltd. | Video-encoding method and video-encoding apparatus using prediction units based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus using prediction units based on encoding units determined in accordance with a tree structure |
AU2011241283B2 (en) * | 2010-04-13 | 2015-02-05 | Samsung Electronics Co., Ltd. | Video-encoding method and video-encoding apparatus based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus based on encoding units determined in accordance with a tree structure |
US9942564B2 (en) | 2010-04-13 | 2018-04-10 | Samsung Electronics Co., Ltd. | Video-encoding method and video-encoding apparatus based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus based on encoding units determined in accordance with a tree structure |
US10027972B2 (en) | 2010-04-13 | 2018-07-17 | Samsung Electronics Co., Ltd. | Video encoding method and video encoding apparatus and video decoding method and video decoding apparatus, which perform deblocking filtering based on tree-structure encoding units |
RU2673712C1 (en) * | 2010-04-13 | 2018-11-29 | Самсунг Электроникс Ко., Лтд. | Method for coding video and device for video coding on basis of coding units defined in accordance with tree-like structure, and method for decoding video and device for decoding video on basis of coding units defined in accordance with tree-like structure |
US10432965B2 (en) | 2010-04-13 | 2019-10-01 | Samsung Electronics Co., Ltd. | Video-encoding method and video-encoding apparatus based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus based on encoding units determined in accordance with a tree structure |
RU2608672C2 (en) * | 2010-04-13 | 2017-01-23 | Самсунг Электроникс Ко., Лтд. | Video-encoding method and video-encoding apparatus using prediction units based on encoding units determined in accordance with tree structure, and video-decoding method and video-decoding apparatus using prediction units based on encoding units determined in accordance with tree structure |
AU2018201344B2 (en) * | 2010-04-13 | 2019-01-17 | Samsung Electronics Co., Ltd. | Video-encoding method and video-encoding apparatus based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus based on encoding units determined in accordance with a tree structure |
US10412411B2 (en) | 2010-04-13 | 2019-09-10 | Samsung Electronics Co., Ltd. | Video-encoding method and video-encoding apparatus using prediction units based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus using prediction units based on encoding units determined in accordance with a tree structure |
US10306262B2 (en) | 2010-04-13 | 2019-05-28 | Samsung Electronics Co., Ltd. | Video encoding method and video encoding apparatus and video decoding method and video decoding apparatus, which perform deblocking filtering based on tree-structure encoding units |
US9247247B2 (en) | 2010-04-13 | 2016-01-26 | Samsung Electronics Co., Ltd. | Video-encoding method and video-encoding apparatus using prediction units based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus using prediction units based on encoding units determined in accordance with a tree structure |
AU2011241284B2 (en) * | 2010-04-13 | 2015-05-07 | Samsung Electronics Co., Ltd. | Video-encoding method and video-encoding apparatus using prediction units based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus using prediction units based on encoding units determined in accordance with a tree structure |
EP2624557A4 (en) * | 2010-09-30 | 2016-02-24 | Samsung Electronics Co Ltd | Video encoding method for encoding hierarchical-structure symbols and a device therefor, and video decoding method for decoding hierarchical-structure symbols and a device therefor |
US9300957B2 (en) | 2010-09-30 | 2016-03-29 | Samsung Electronics Co., Ltd. | Video encoding method for encoding hierarchical-structure symbols and a device therefor, and video decoding method for decoding hierarchical-structure symbols and a device therefor |
US11943449B2 (en) | 2011-01-13 | 2024-03-26 | Nec Corporation | Video decoding device, and video encoding method performing entropy-decoding process for inter prediction unit partition type syntax |
US11582461B2 (en) | 2011-01-13 | 2023-02-14 | Nec Corporation | Video encoding device, video decoding device, video encoding method, video decoding method, and program restricts inter-prediction unit partitions based on coding unit depth |
US10841590B2 (en) | 2011-01-13 | 2020-11-17 | Nec Corporation | Video decoding device, video decoding method, and program |
US9848197B2 (en) | 2011-03-10 | 2017-12-19 | Qualcomm Incorporated | Transforms in video coding |
CN109036441B (en) * | 2014-03-24 | 2023-06-06 | 杜比国际公司 | Method and apparatus for applying dynamic range compression to high order ambisonics signals |
CN109036441A (en) * | 2014-03-24 | 2018-12-18 | 杜比国际公司 | To the method and apparatus of high-order clear stereo signal application dynamic range compression |
US11838738B2 (en) | 2014-03-24 | 2023-12-05 | Dolby Laboratories Licensing Corporation | Method and device for applying Dynamic Range Compression to a Higher Order Ambisonics signal |
US10257514B2 (en) | 2014-07-24 | 2019-04-09 | Huawei Technologies Co., Ltd. | Adaptive dequantization method and apparatus in video coding |
CN105338352A (en) * | 2014-07-24 | 2016-02-17 | 华为技术有限公司 | Adaptive dequantization method and device in video decoding |
WO2016011796A1 (en) * | 2014-07-24 | 2016-01-28 | 华为技术有限公司 | Adaptive inverse-quantization method and apparatus in video coding |
KR101607310B1 (en) | 2014-10-29 | 2016-03-29 | 삼성전자주식회사 | Method and apparatus for video encoding considering scanning order of coding units with hierarchical structure, and method and apparatus for video decoding considering scanning order of coding units with hierarchical structure |
US10559093B2 (en) | 2018-01-13 | 2020-02-11 | Arm Limited | Selecting encoding options |
GB2571818B (en) * | 2018-01-13 | 2022-04-27 | Advanced Risc Mach Ltd | Selecting encoding options |
GB2571818A (en) * | 2018-01-13 | 2019-09-11 | Advanced Risc Mach Ltd | Selecting encoding options |
CN112351252A (en) * | 2020-10-27 | 2021-02-09 | 重庆中星微人工智能芯片技术有限公司 | Monitoring video coding and decoding device |
CN112351252B (en) * | 2020-10-27 | 2023-10-20 | 重庆中星微人工智能芯片技术有限公司 | Monitoring video coding and decoding device |
Also Published As
Publication number | Publication date |
---|---|
EP1629437A2 (en) | 2006-03-01 |
JP2007503784A (en) | 2007-02-22 |
US20060251330A1 (en) | 2006-11-09 |
HU0301368D0 (en) | 2003-07-28 |
NO20055660D0 (en) | 2005-11-30 |
US8086052B2 (en) | 2011-12-27 |
HUP0301368A3 (en) | 2005-09-28 |
KR20060027795A (en) | 2006-03-28 |
CN1857001A (en) | 2006-11-01 |
CA2526450A1 (en) | 2004-12-02 |
NO20055660L (en) | 2005-12-16 |
WO2004104930A3 (en) | 2006-05-18 |
HUP0301368A2 (en) | 2005-02-28 |
CN1857001B (en) | 2011-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8086052B2 (en) | Hybrid video compression method | |
US11240498B2 (en) | Independently coding frame areas | |
US7471724B2 (en) | Method and apparatus for adaptive multiple-dimensional signal sequences encoding/decoding | |
US4816914A (en) | Method and apparatus for efficiently encoding and decoding image sequences | |
Westwater et al. | Real-time video compression: techniques and algorithms | |
US20070025442A1 (en) | Coding method for coding moving images | |
US6252905B1 (en) | Real-time evaluation of compressed picture quality within a digital video encoder | |
AU2004223358B2 (en) | Overcomplete basis transform-based motion residual frame coding method and apparatus for video compression | |
JP3703299B2 (en) | Video coding method, system and computer program product for optimizing picture center image quality | |
KR100541623B1 (en) | Prediction method and device with motion compensation | |
KR100961760B1 (en) | Motion Estimation Method and Apparatus Which Refer to Discret Cosine Transform Coefficients | |
WO2011005105A1 (en) | Computer implemented early skip | |
JP3964139B2 (en) | Motion compensated adaptive image processing method and apparatus | |
CN115118976A (en) | Image coding method, readable medium and electronic device thereof | |
EP1720356A1 (en) | A frequency selective video compression | |
EP1841235A1 (en) | Video compression by adaptive 2D transformation in spatial and temporal direction | |
JP2824222B2 (en) | Video data compensation method and compensation device | |
CN116074539A (en) | Image coding and decoding method and device | |
Koivusaari et al. | Simplified three-dimensional discrete cosine transform-based video codec | |
Luts | New Approaches and Methods of Adaptive Image Encoding | |
Choo et al. | Interframe hierarchical vector quantization using hashing-based reorganized codebook | |
Young | Software CODEC algorithms for desktop videoconferencing | |
Dutoit et al. | How are digital images compressed in the web? | |
GB2401739A (en) | Data compression | |
JP2004158946A (en) | Moving picture coding method, its decoding method, and apparatus thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 200480020907.9 Country of ref document: CN |
|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DPEN | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed from 20040101) | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2006251330 Country of ref document: US Ref document number: 2526450 Country of ref document: CA Ref document number: 10557440 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1020057022258 Country of ref document: KR Ref document number: 2006530613 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2490/KOLNP/2005 Country of ref document: IN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2004734055 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 2004734055 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 1020057022258 Country of ref document: KR |
|
WWP | Wipo information: published in national office |
Ref document number: 10557440 Country of ref document: US |