📄 changes_from_vm4_2.txt
字号:
TESTING NOTES:
We suggest that error resilience be tested with `-Cer_term' at the
encoder and `-Cer 2' at the decoder. This combination may be used
successfully with any other combination of options (e.g. `-Clazy',
`-Cparallel', `-Clayers', etc.) and should work well regardless of
the number of quality layers in the bit-stream (one is sufficient).
For added error resilience, add `-Csegmark' to `-Cer_term'. As
previously, please report bugs in the error resilience code to David
Taubman. It is best to run the decoder in the debug mode so that
assert() statements get caught. This will allow us to iron out
oversights more quickly.
______________________________________________________________________________
Changes in Transform
______________________________________________________________________________
* The boundary termination policy for lifting implementations has been
corrected to ensure compatibility with the symmetric extension used
for convolution implementations. This work was done by Christos
Chrysafis of HP Labs.
* The PSE implementation no longer appears explicitly in the VM, as
agreed in Vancouver.
______________________________________________________________________________
Changes in Visual Options
______________________________________________________________________________
* The `-Cvis' encoder-only option has been implemented. This option
adjusts the distortion metric used during R-D optimization to take
account of the visual masking phenomenon. This phenomenon is quite
distinct from the better known Contrast Sensitivity Function (CSF),
which may be compensated by applying appropriate weighting tables to
`-Fweights'. Whereas the CSF is a global characteristic, mostly
attributable to MTF of the human optical system (optics + sensor
integration PSF's) and any assumptions on the MTF of the display
device (monitor, printer, etc), the masking phenomenon is an
image-dependent, spatially varying phenomenon. The CSF depends
intimately on assumed viewing distance (and possibly display
properties). The compensation for visual masking built into
`-Cvis' is designed to be complementary to any CSF compensation.
Thus, the visual masking formulation itself is independent of
assumptions on viewing distance, display device, etc. This means
that when nothing is known about such parameters (e.g. the user
is allowed to zoom in and out of an image arbitrarily on a monitor),
the `-Cvis' compensation usually gives substantial overall
improvement in image quality. When the viewing parameters can
be guessed, CSF compensation through appropriate weighting tables
supplied to `-Fweights' usually gives further improvements when
combined with `-Cvis'. Note that the behaviour of `-Cvis' is
informative only from the point of view of the JPEG2000 standard,
since the EBCOT paradigm embodied in the syntax and decoder support
arbitrary policies for determining the relative truncation points
for each code-block. Note also, that `-Cvis' generally works best
with smaller code-blocks (typically 32x32); a warning message will
be generated if it is used with the default 64x64 code-block size.
______________________________________________________________________________
Changes to the Global Header of the Bit-Stream
______________________________________________________________________________
* Since the PSE no longer exists explicitly, there is no global
header entry for it.
* The nominal EBCOT block size parameters are now restricted to powers of 2 in
the range 4 to 256 and are signaled by 3 bit quantities representing
log base 2 of the size, minus 2.
* Since we have fixed all entropy coder quantities relating to sub-blocks
(i.e. the scan), there is no longer any sub-block size identification in
the header.
* There is a flag indicating whether or not context formation during
entropy coding should be restricted by a vertically stripe causal
constraint.
* There is a flag identifying whether or not the probability models should
be reset at the end of each coding pass.
* There is a flag identifying whether or not lazy coding mode is in use.
* There are two flags relevant to error resilience: a) the segmentation
marker flag which was there before; and b) a flag indicating whether or
not the decoder can rely upon the encoder having used a particular
standard algorithm for terminating codeword segments in the bit-stream
(if present, the properties of this algorithm can be exploited for
error detection; otherwise, the encoder can use any method it likes, but
the decoder cannot exploit spare code space left after termination for
error resilience).
* ROI temporary CME tag is now a permanent syntax tag.
______________________________________________________________________________
Bug Fixes
______________________________________________________________________________
* A bug in "ebcot_send_bits.c" pointed out by Diego Santa Cruz has been
fixed. The bug caused occasional accesses outside allocated memory,
which became observable in Java.
* A bug in "std_kernel_info.c" was found by Christos and fixed. This
"bug" allowed different signs conventions to be used by convolution and
lifting implementations of a filter, depending upon how the relevant
parameters appeared in user kernel files and the "std_coeffs.h" file.
The modification changes the sign of the high pass coefficients for
the 5X3 filter, relative to what was being used in previous implementations.
* A general syntax bug was reported by Frederick Wheeler. This bug resulted
in array bounds problems, but has now been fixed.
* A problem with retrieving visual weights in the decoder was reported by
Wenjun Zeng. This problem resulted in poor results when masking AC subbands,
but has been fixed.
* Paul Skeberdis reported comment in comment compilation warnings generated on
his SGI Octane running IRIX 6.4 with SGI's version 7.2.1 compiler. These
warnings have now been fixed.
* David Taubman and others reported that the header size was much larger than
necessary. As a result of fixes put in for this, the VM5 header size should
be smaller and reported correctly.
* A component mixing problem reported independently by David Sheppard and
Takahiro Fukuhara was fixed. The result of this bug was that only three
component could be processed. Now the VM should be able to process 256
components.
* Several bug reports/complaints concerning tile size implementation were
addressed.
* A -Fsteps problem reported by Rajan Joshi was fixed. This problem was only
apparent for multi-component imagery with different step sizes for each
component.
* A discrepancy between the VM and syntax documentation was reported by Scott
Houchin. This concerned the length of tile packets not being equal to a
multiple of 16. This problem is fixed in the current VM.
______________________________________________________________________________
COMMAND LINE OPTIONS
______________________________________________________________________________
Be careful to read the usage statements generated by the compressor
and decompressor, paying attention to the descriptions of the following:
Compressor:
* -Cparallel
* -Clazy
* -Ccausal
* -Cnon_causal
* -Cer_term
Decompressor:
* -Cer
* -Cno_speedup
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -