⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changes_from_vm5_0.txt

📁 JPEG2000实现的源码
💻 TXT
字号:

                         CHANGES IN VM5.1 FROM VM5.0
	                =============================

_____________________________________________________________________________
          Changes to Bring Code and Documentation into Agreement
_____________________________________________________________________________

* Corrected initialization for the MQ coder's UNIFORM context state.  This 
  was corrected to bring things into line with the MQ document in the VM (and 
  also the WD, the JBIG2 documents, etc).

* Made changes to reset the sequence index for error resilience resync 
  markers to zero whenever a new tile occurs.

* Significant changes to the predictable termination policy used by 
  `-Cer_term'.  These changes were made in order to reduce the implementation 
  burden on error resilient encoder and decoder implementations without 
  altering (at least in theory) the resilience to errors.  
  Corresponding changes were made for the `-Cer' option at the decoder and 
  slight improvements were made for the estimation of the number of bits at 
  each termination point.  The implementation conforms completely to the
  description in the most recent version of the VM text.

* Modified the segment marker mechanism to use the original four bit code 
  supplied by Sarnoff, as documented in the most recent version of the
  VM text.

_____________________________________________________________________________
                      Changes for Geometric Rectification
_____________________________________________________________________________

* Included code to write, read and respond to the three flag bits required
  to signal geometric transformations.  This information is passed to the
  wavelet synthesis object via the reverse info object's routine which 
  returns filter taps.  Once inside the synthesis object, this information is
  used to modify the filter taps appropriately for the desired rectification.

_____________________________________________________________________________
                          Changes in Rate Control
_____________________________________________________________________________

* Lagrangian Rate Allocation (LRA) has been added to the VM's forward info 
  object and is switched on with the encoder `-Flra' argument.  When LRA is 
  used, the first rate iteration computes statistics which are used in 
  remaining iterations to determine step sizes for different wavelet 
  subbands.  
  
* The default rate controller for TCQ is LRA.  However, the the new 
  `-Fno_lra' switch can be included on the encoder command line in order 
  to use the binary search rate controller (which dates back to VM3A) with 
  TCQ.

* Added a tolerance to allow LRA and binary search rate controllers to stop
  iterating after the achieved rate is reasonably close to the desired rate.  
  This tolerance is controlled with the `-low_rate_tol' and `-hi_rate_tol' 
  options in the main object for vm5_compress.  

_____________________________________________________________________________
                          Changes in Quantization
_____________________________________________________________________________

* The Trellis Coded Quantizer (TCQ) has been added to the VM and is invoked 
  with the `-Qtcq' encoder argument.  This quantizer works best when
  bit-planes are not truncated from quantized indices.  Therefore, the
  `-Qtcq' switch effectively turns on the `-Cno_trunc' switch.  To achieve 
  a desired rate, multiple iterations are used to adjust step sizes.

* As part of the TCQ changes, several minor changes were made to the entropy 
  coder implementation to guarantee that bit-plane truncation will not
  occur if the bit-stream is received completely.

* Complete TCQ dequantization is not possible when bit-planes are lost from 
  decoded quantized indices.  Therefore, an approximate scalar dequantization 
  process is used for progressive decoding.  To signal use of this 
  approximation technique, the policy spelled out in "ifc.h" regarding the 
  extra_lsbs of quantized indices is exploited.  Slight modifications to this 
  policy were necessary to be fully operable for TCQ.  Thus, the policy in 
  "ifc.h" has been updated as well as small sections of the hpdz and mask 
  dequantizers.

_____________________________________________________________________________
                  Changes to the Global Header of the Bit-Stream
_____________________________________________________________________________

* Several fread() calls were changed to fetch_byte() calls in 
  "hpbit_stream_in.c".  This change should result more accurate counts of 
  bytes decoded during decompression.

_____________________________________________________________________________
                                  Bug Fixes
_____________________________________________________________________________

* The bug reported by Takahiro Fukuhara was not fixed in the VM5.0 release.  
  This bug previously resulted in erroneously encoded/decoded imagery when 
  multiple components of varying resolutions were compressed.  This problem
  has been fixed in VM5.1.

_____________________________________________________________________________
                            Implementation Speedup
_____________________________________________________________________________

* Further changes were made to the implementation of the entropy decoder
  to increase execution speed.  The functions accessed by `-Cno_speedup'
  are unchanged and remain the most dydactic implementation.  Changes to
  increase throughput for the default "speedup" functions focus primarily
  on eliminating 16-bit memory accesses, which can be a significant
  bottleneck on machines which are designed to work with 32-bit or 64-bit
  words.  As a rough indication of current execution times, the VM5
  decoder implementation is now more than 1.6 times as fast as the
  VM4 decoder implementation on a Pentium II platform.  With the lazy
  mode, it is nearly twice as fast at higher bit-rates and more
  than twice as fast (e.g. 2.4 times faster for "bike") in decoding
  lossless compressed bit-streams.  Similar tricks may be used to speed
  up the encoder implementation, but this has not been done in the VM.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -