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

📄 qccspeck3dencode.3

📁 QccPackSPECK-0.54-1 (release 2007-04-30) is The Set-Partitioning Embedded Block (SPECK) algorithm fo
💻 3
字号:
.TH QCCSPECK3DENCODE 1 "QCCPACK" "".SH NAMEQccSPECK3DEncode, QccSPECK3DDecode \-encode/decode an image cube using the 3D-SPECK algorithm.SH SYNOPSIS.B #include "libQccPack.h".sp.BI "int QccSPECK3DEncode(const QccIMGImageCube *" image_cube ", const QccIMGImageCube *" mask ", int " transform_type ", int " temporal_num_levels ", int " spatial_num_levels ", const QccWAVWavelet *" wavelet ", QccBitBuffer *" output_buffer ", int " target_bit_cnt );.sp.BI "int QccSPECK3DDecodeHeader(QccBitBuffer *" input_buffer ", int *" transform_type ", int *" temporal_num_levels ", int *" spatial_num_levels ", int *" num_frames ", int *" num_rows ", int *" num_cols ", double *" image_mean ", int *" max_coefficient_bits );.sp.BI "int QccSPECK3DDecode(QccBitBuffer *" input_buffer ", QccIMGImageCube *" image_cube ", const QccIMGImageCube *" mask ", int " transform_type ", int " temporal_num_levels ", int " spatial_num_levels ", const QccWAVWavelet *" wavelet ", double " image_mean ", int " max_coefficient_bits ", int " target_bit_bit );.SH DESCRIPTION.SS Encoding.LP.B QccSPECK3DEncode()encodes an image cube,.IR image_cube ,using a 3D generalization of the SPECK algorithm.The original SPECK algorithm was developed for 2D images byPearlman.IR "et al" .;it was latter extended to 3D by Tang.IR "et al" .In essence, the 3D-SPECK algorithm involves a 3D DWT followed by a progressive "bitplane" coding of the wavelet coefficients using acube-splitting quantization structure based onocttrees. See "ALGORITHM" below for more detail..LP.I image_cubeis the image cube to be coded and.I output_bufferis the output bitstream..I output_buffermust be of.B QCCBITBUFFER_OUTPUTtype and opened via a prior call to.BR QccBitBufferStart (3)..LP.BR QccSPECK3DEncode ()supports the use of both wavelet-packet and dyadic wavelet-transformdecompositions.If.IR transform_typeis.BR QCCWAVSUBBANDPYRAMID3D_DYADIC ,a dyadic DWT is used; if.IR transform_typeis.BR QCCWAVSUBBANDPYRAMID3D_PACKET ,a wavelet-packet DWT is used..IR temporal_num_levels and.IR spatial_num_levelsgive the number of levels of wavelet decomposition to performfor both transform types; for a dyadic transform,.IR temporal_num_levels should equal.IR spatial_num_levels ..I waveletis the wavelet to use for decomposition..LPThe bitstream output from the 3D-SPECK encoder is embedded, meaning thatany prefix of the bitstream can be decoded to give a valid representation of the image.  The 3D-SPECK encoder essentially producesoutput bits until the number of bits output reaches.IR target_bit_cnt ,the desired (target) total length of the output bitstream in bits,and then it stops.Note that this is the bitstream length in bits, not the rate of the bitstream(which would be expressed in bits per voxel)..LP.BR QccSPECK3DEncode()optionally supports the use of a shape-adaptive DWT (SA-DWT) rather thanthe usual DWT. That is, .BR QccSPECK3DEncode()can call.BR QccWAVSubbandPyramid3DShapeAdaptiveDWT (3)as the wavelet transform rather than the usual.BR QccWAVSubbandPyramid3DDWT (3).The use of a SA-DWT is indicated by a non-NULL.IR mask ;if .I maskis NULL, then the usual DWT is used.In the case of a SA-DWT,.I mask gives the transparency mask which indicates which voxels of the imageare non-transparent and thus have data that is to be transformed.Refer to .BR QccWAVSubbandPyramid3DShapeAdaptiveDWT (3)for more details on the calculation of this SA-DWT.See "ALGORITHM" below for details on how the 3D-SPECKalgorithm handles shape-adaptive coding..SS Decoding.LP.B QccSPECK3DDecodeHeader()decodes the header information in a bitstream previously produced by.BR QccSPECK3DEncode() .The input bitstream is.I input_bufferwhich must be of.B QCCBITBUFFER_INPUTtype and opened via a prior call to.BR QccBitBufferStart (3)..LPThe header information is returned in.I transform_type(either.BR QCCWAVSUBBANDPYRAMID3D_DYADIC or.BR QCCWAVSUBBANDPYRAMID3D_PACKET to indicate a dyadic or wavelet-packet transform decomposition, respectively),.I temporal_num_levels(number of levels of wavelet decomposition in the temporal direction),.I spatial_num_levels(number of levels of wavelet decomposition in the spatial directions),.I num_frames(size of the image cube in the temporal direction),.I num_rows(vertical size of image cube),.I num_cols(horizontal size of image cube),.I image_mean(the mean value of the original image cube), and.I max_coefficient_bits(indicates the precision, in number of bits, of the wavelet coefficientwith the largest magnitude)..LP.B QccSPECK3DDecode()decodes the bitstream.IR input_buffer ,producing the reconstructed image cube,.IR image_cube .The bitstream must already have had its header read by a prior callto.B QccSPECK3DDecodeHeader()(i.e., you call.B QccSPECK3DDecodeHeader() first and then.BR QccSPECK3DDecode() ).If.I target_bit_cntis.BR QCCENT_ANYNUMBITS ,then decoding stops when the end of the input bitstream is reached;otherwise, decoding stops when.I target_num_bitsfrom the input bitstream have been decoded..LPIf a SA-DWT was used in 3D-SPECK encoding, then the original transparencymask should be passed to .BR QccSPECK3DDecode()as.IR mask .That is,.I maskshould be the same transparency mask (untransformed) that was passed to.BR QccSPECK3DEncode() .Note that.BR QccSPECK3DDecode()will transform this.I maskvia a Lazy wavelet transform, and then pass the transformed maskto .BR QccWAVSubbandPyramid3DInverseShapeAdaptiveDWT (3).If the usual, full-volume DWT was used in encoding, then.I maskshould be a NULL pointer..SH "ALGORITHM"The 3D-SPECK algorithm involves a 3D DWT followed by a progressive encodingof the bitplanes of wavelet coefficients.As is common with bitplane-based embedded coders,the encoder of the 3D-SPECK algorithmcodes significance information in a significance passfollowed by refinement-bit information in a refinement pass.The significance pass determines the significance of a wavelet coefficientagainst a given threshold, while the refinement pass codes the bits ofthose coefficients previously determined to be significant.The 3D-SPECK algoorithm usesocttree partitioning in which the significance state of an entirecube of coefficients is tested and coded, the cube is subdivided intoeight subcubes of approximately equal size, and the significance-codingprocess is repeated recursively on each of the subcubes.Unlike the original 2D SPECK algorithm, the 3D-SPECK algorithmuses only one type of set, rather than having S and I setsas in 2D SPECK. Consequently, each subband in the DWT decomposition isadded to an LIS at the start of the 3D-SPECK algorithm, whereas the 2Dalgorithm initializes with only the baseband subband in an LIS..LPThe QccPack implementation of 3D-SPECK supports shape-adaptivecoding by generalizing the 2D OB-SPECK approach describedby Lu and Pearlman to 3D (see.BR QccSPECKEncode (3))..SH "SEE ALSO".BR speckencode3d (1),.BR speckdecode3d (1),.BR QccBitBuffer (3),.BR QccWAVSubbandPyramid3D (3),.BR QccWAVSubbandPyramid3DDWT (3),.BR QccWAVSubbandPyramid3DShapeAdaptiveDWT (3),.BR QccSPECKEncode (3),.BR QccPackWAV (3),.BR QccPackIMG (3),.BR QccPack (3)X. Tang, W. A. Pearlman, and J. W. Modestino,"Hyperspectral Image Compression Using Three-DimensionalWavelet Coding,"in.IR "Image and Video Communications and Processing" ,Santa Clara, CA, January 2003, Proc. SPIE 5022, pp. 1037-1047.W. A. Pearlman, A. Islam, N. Nagaraj, and A. Said,"Efficient, Low-Complexity Image Coding with a Set-PartitioningEmbedded Block Coder,".IR "IEEE Transactions on Circuits and Systems for Video Technology" ,to appear, 2003.A. Islam and W. A. Pearlman,"An Embedded and Efficient Low-Complexity Hierarchical Image Coder,"in.IR "Visual Communications and Image Processing" ,K. Aizawa, R. L. Stevenson, and Y.-Q. Zhang, Eds., San Jose, CA,January 1999, Proc. SPIE 3653, pp. 294-305.Z. Lu and W. A. Pearlman,"Wavelet Video Coding of Video Object by Object-Based SPECK Algorithm,"in.IR "Proceedings of the Picture Coding Symposium" ,Seoul, Korea, April 2001, pp. 413-416..SH AUTHORCopyright (C) 1997-2007  James E. Fowler.\"  The programs herein are free software; you can redistribute them and/or.\"  modify them under the terms of the GNU General Public License.\"  as published by the Free Software Foundation; either version 2.\"  of the License, or (at your option) any later version..\"  .\"  These programs are distributed in the hope that they will be useful,.\"  but WITHOUT ANY WARRANTY; without even the implied warranty of.\"  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the.\"  GNU General Public License for more details..\"  .\"  You should have received a copy of the GNU General Public License.\"  along with these programs; if not, write to the Free Software.\"  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

⌨️ 快捷键说明

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