📄 changes_from_vm6_1.txt
字号:
CHANGES IN VM7.0 FROM VM6.1
============================
Markers
-------
* EOI marker renamed as EOC.
* SOS marker renamed as SOD (code changed to FF93)
* SOP marker changed to include length field.
* ERS marker eliminated (flags moved in COD).
* No real change to SOT marker (the new style was the default in VM6 anyway).
* PPM marker changed to allow continuation of tile-parts across markers.
* POC marker renamed as POD and given extra fields for initial box bounds.
* Component transform info moved from SIZ to COD marker.
Precinct Partition
------------------
* Renamed from "packet partition".
* "No partition" mode eliminated. There is now always a precinct partition
with the maximum precinct size corresponding to PPx=PPy=15.
Packet Progressions
-------------------
* Augmented packet sequencer to accommodate the lower bounds for resolution
and component indices in each bounding box.
* Eliminated tests on box nesting so that all POD parameters are deemed
legal.
Component Transforms
--------------------
* Implementation modified to allow component transform to be changed
from tile to tile.
Rate Control
------------
* The scan buffer rate controller presented in WG1N1594 is now available in
VM7.0. This rate controller slides a window along so called "scan
elements" and releases bits to the output bitstream at each window
position. Scan elements must be defined by either tiles or precinct
locations which span the width of the entire image. Below are two
example command lines for using this new rate controller:
vm7_compress_32 -i aerial2.ppm -o aerial2.enc -rate 2.0 -Corder PC
-Cpp 64x2048 32x2048 16x2048 8x2048 4x2048 2x2048
-Cscan_buffer_elements 2
vm7_compress_32 -i aerial2.ppm -o aerial2.enc -rate 2.0 -Ftiles 64 2048
-Cscan_buffer_elements 2
In both above examples above , the scan buffer simulates the possible
performance if only two scan elements are held in the buffer. The VM also
reports the smallest possible memory required to hold two scan elements in
the buffer. Memory used for storage of the compressed codewords (see the
"COMPRESSED CODEWORD MEMORY" field printed with `-mem') actually varies
from that reported with `-Cscan_buffer_elements' to the output screen, but
the decompressed performance should be equivalent to an efficiently
implemented version of the scan buffer rate controller. Efforts have been
made, however, to actually reduce the amount of memory used in the VM.
Use of this new rate controller should limit hte "COMPRESSED CODEWORD
MEMORY" memory significantly.
The scan buffer rate controller has been implemented inside the
ebcot_encoder.c, ebcot_send_bits.c and dst_codeword_heap.c files. Changes
inside ebcot_encoder.c simply initialize various units used for this rate
controller. Changes inside ebcot_send_bits.c are in the new routines
set_buffer_threshold() and scan_element_filled() as well as the VM6.1
routine ebcot_send_bit_stream(). To hopefully help readability, the VM6.1
global rate control is unified with the scan buffer rate controller.
Changes to j2g_fiddle
---------------------
* Added a -make_plt option
Bug Fixes
---------
* Modified image I/O to correctly interpret CR/LF pairs for PGM files on PC
platforms
* Corrected convolution kernels in DWT component mixer
* Corrected tag tree references to empty coder blocks
* Corrected progressive visual weighting
* Fixed matrix multiplication in linear component transform
* Fixed speed-up functions for decoder
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -