📄 syntax.txt
字号:
Syntax for Integer Lifting Kernels
----------------------------------
Integer lifting kernels must be implemented using integer arithmetic and
they must be applied to integers. Moreover, the rounding policy for
each step must be identical at both the compressor and the decompressor
in order to retain the reversible property of the overall decomposition.
The file format is NOT compatible with that used by VM2.1 for a VERY
GOOD REASON. In VM2.1, fundamentally different interpretations were
applied to floating-point lifting kernels and integer lifting kernels,
which was confusing and unnecessary. Specifically, in VM2.1 the
integer prediction filter was to be applied to the even sub-sequence
and subtracted from the odd sub-sequence, whereas the integer update
filter was to be applied to the odd sub-sequence and added to the even
sub-sequence. In order to ensure a consistent policy between integer
and floating point lifting representations, we modified the definition
so that all lifting steps, whether update or prediction, are implemented
by filtering one sub-sequence (even for prediction steps and odd for
update steps) with the relevant taps and then adding the result to the
opposite sub-sequence (odd for prediction steps and even for update steps).
This means that the first and third lines of lifting coefficients in the
old VM2.1 format must have their signs reversed in order to conform to the
new policy in VM3a.
The first line of the file contains a sequence of positive integers,
identifying the support of each of the forward lifting steps. The
number of such integers identifies the number of lifting steps -- there
is no need for trailing zeros as in VM2.1, although the use of trailing
zeros is acceptable. The first integer identifies the support of the
first prediction step; the second identifies the support of the first
update step; additional integers identify the supports of subsequent
prediction and update steps. Up to eight lifting steps may be supplied,
although this limit is a property of the current software
implementation only.
Each of the subsequent lines corresponds to the relevant lifting step,
with all filter taps for the lifting step appearing consecutively on
the relevant line in impulse response order (not the inner-product
order defined for the interface functions described in "ifc.h").
The lifting step coefficients must all be integers. Moreover, an
additional non-negative integer must appear at the end of the line
of text which holds the relevant tap values. This extra integer
is the amount by which the result obtained by filtering the
relevant sub-sequence with the integer tap values must be downshifted
(divided by 2 to the power of the downshift value) in order to find
the correct integer values to add into the opposite sub-sequence.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -