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

📄 qccwavsubbandpyramidint.3

📁 spiht for linux this is used to decod and encode vedio i wich all enjoy
💻 3
字号:
.TH QCCWAVSUBBANDPYRAMIDINT 3 "QCCPACK" "".SH NAMEQccWAVSubbandPyramidInt \- data structurefor an integer-valued two-dimensional dyadic subband decomposition of an image.SH SYNOPSIS.B #include "libQccPack.h".sp.BI "int QccWAVSubbandPyramidIntInitialize(QccWAVSubbandPyramidInt *" subband_pyramid );.br.BI "int QccWAVSubbandPyramidIntAlloc(QccWAVSubbandPyramidInt *" subband_pyramid );.br.BI "void QccWAVSubbandPyramidIntFree(QccWAVSubbandPyramidInt *" subband_pyramid );.br.BI "int QccWAVSubbandPyramidIntNumLevelsToNumSubbands(int " num_levels );.br.BI "int QccWAVSubbandPyramidIntNumSubbandsToNumLevels(int " num_subbands );.br.BI "int QccWAVSubbandPyramidIntCalcLevelFromSubband(int " subband ", int " num_levels );.br.BI "int QccWAVSubbandPyramidIntSubbandSize(const QccWAVSubbandPyramidInt *" subband_pyramid ", int " subband ", int *" subband_num_rows ", int *" subband_num_cols );.br.BI "int QccWAVSubbandPyramidIntSubbandOffsets(const QccWAVSubbandPyramidInt *" subband_pyramid ", int " subband ", int *" row_offset ", int *" col_offset );.br.BI "void QccWAVSubbandPyramidIntSubbandToQccString(int " subband ", int " num_levels ", QccString " qccstring );.br.BI "int QccWAVSubbandPyramidIntPrint(const QccWAVSubbandPyramidInt *" subband_pyramid );.SH DESCRIPTIONQccPack provides data structure.B QccWAVSubbandPyramidIntfor representing integer-valued two-dimensional subband decompositions ofimages.This subband-pyramid structure can be read from and written to .BR SBPI -formatfiles, or a.B QccWAVSubbandPyramidIntstructure can be used without file input or output..LPThe main component of a.B QccWAVSubbandPyramidIntstructure is a matrix; this will be anarray of wavelet coefficients and will usually be arranged in"dyadic" or "octave" decompositions (subbands) of several levels.These dyadic subbands are nested in the upper-left cornerof the matrix.  The size of the subbandsdecreases by a factor of two with each increase in level ofdecomposition;  the frequency content of the subbands decreaseswith increasing subband level..LPBelow is a diagram illustrating the composition of the subband-pyramidmatrix.  Here "B" indicates the baseband subband, while "H", "V", and "D"indicate, respectively, vertical-, horizontal-, and diagonal-coefficientsubbands.  The level, or scale, of the subbandis the number trailing the letter; e.g., "H2" indicatesthe horizontal subband on the second level of decomposition. The diagrambelow shows a two-level (two-scale) decomposition..RS.nf    ------------------------------    |      |      |              |    |  B2  |  V2  |              |    |      |      |              |    ---------------      V1      |    |      |      |              |    |  H2  |  D2  |              |    |      |      |              |    ------------------------------    |             |              |    |             |              |    |             |              |    |     H1      |      D1      |    |             |              |    |             |              |    |             |              |    ------------------------------.fi.RE.LPOften, a particular subband in the subband pyramid will be addressed with aninteger subband number.  The subband number ranges from 0 (the baseband) to.I L* 3, where.I Lis the number of levels of decomposition in the subband pyramid (the.I num_levelsfield in the data structure described below).The order of the subband number is baseband, then horizontal, vertical, anddiagonal subbands in orderat the highest level, followed by the horizontal, vertical,and diagonal subbands at the next highest level, etc.  For example, for thetwo-level subband pyramid illustrated above, the following diagram showsthe corresponding subband numbers..RS.nf    ------------------------------    |      |      |              |    |   0  |   2  |              |    |      |      |              |    ---------------       5      |    |      |      |              |    |   1  |   3  |              |    |      |      |              |    ------------------------------    |             |              |    |             |              |    |             |              |    |      4      |       6      |    |             |              |    |             |              |    |             |              |    ------------------------------.fi.RE.SH "DATA STRUCTURE"The.B QccWAVSubbandPyramidIntdata structure is defined as:.RS.nftypedef struct{  QccString filename;  QccString magic_num;  int major_version;  int minor_version;  int num_levels;  int num_rows;  int num_cols;  int origin_row;  int origin_col;  int subsample_pattern_row;  int subsample_pattern_col;  QccMatrixInt matrix;} QccWAVSubbandPyramidInt;.fi.RE.LPThe fields of.B QccWAVSubbandPyramidIntare as follows:.TP.I filenameThe name of the file..TP.IR magic_num ", " major_version ", " minor_versionThe magic number and version of the file..TP.IR num_levelsThe number of levels to the subband pyramid; i.e., thenumber of levels (scales) of decomposition..TP.IR num_rows ", " num_colsThe overall size of the matrix of coefficients..TP.IR origin_row ", " origin_colIndicates the row and column indices of the upper-left corner of the matrix ofcoefficients..TP.IR subsample_pattern_row ", " subsample_pattern_colIndicates the subsampling decomposition pattern along the rows andcolumns..TP.I matrixThe matrix of coefficients..SH "FILE FORMAT"For reading and writing structuresof type.BR QccWAVSubbandPyramidInt ,QccPack provides the.B SBPIfile format.This file format starts with an ASCII header followed bybinary data.The ASCII header consists of magic-number/revisioninformationfollowed by any amount of white space(space, `\\t' (tab), `\\n' (newline), `\\r' (carriage return)) and/orcomments lines (lines starting with `#').  Following this white space,additional ASCIIheader information is given, separated by blanks and newlines.Binary data follows this ASCII header information.Note:  one (and only one) newline .B mustimmediately follow the last component of ASCII header information before thestart of the binary data..LPThe.B SBPIfile format consists of the following information:.RS.sp.BI SBPI X.X.br.I "<white space>".br.I L.br.I "C R".br.IR "i11 i12" \|.\|.\|..br.IR "i21 i22" \|.\|.\|..br\|..br\|..br\|..br.sp.REwhere.B SBPIis the magic number,.I X.Xis the version number,.I "<white space>"is white space and/or comment lines, .I Lis the number of levels of nested decompositionin the subband pyramid,.I Cis the number of columns of the subband-pyramid image,and.I Ris the number of rows, .I imnis the coefficient for the .IR m throw, .IR n thcolumn of the subband-pyramid image..IR L ", " C ", and " R are stored in ASCII.  The image itself,.IR imn ,is stored as binary integer numbers (4 bytes each, MSB first,see.BR QccFileWriteInt (3)).The value of .I Lgives the number of nested (dyadic) decompositions in the matrix of coefficients.If .I L= 0, the image has not been decomposed; if .I L>= 1,then the .I L dyadic decompositions are recursively nested in theupper-left corner of the coefficient matrix..SH "ROUTINES".B QccWAVSubbandPyramidIntInitialize()should be called before any use of a.B QccWAVSubbandPyramidIntstructure..B QccWAVSubbandPyramidIntInitialize()initializes the fields of.I subband_pyramidto the following values:.RS.IR filename :.B NULLstring.br.IR magic_num :.B QCCSUBBANDPYRAMIDINT_MAGICNUM.br.IR major_version ", " minor_version :initialized to output of .BR QccGetQccPackVersion (3).br.IR num_levels :0.br.IR num_rows :0.br.IR num_cols :0.br.IR origin_row0.br.IR origin_col0.br.IR subsample_pattern_row :0.br.IR subsample_pattern_col :0.br.IR matrix :.B NULL.RE.LP.B QccWAVSubbandPyramidIntAlloc()allocates storage space for .IR subband_pyramid->matrix .If .I subband_pyramid->matrixis not.BR NULL ,.B QccWAVSubbandPyramidIntAlloc()returns immediately without changing the state of any memory allocation.Otherwise,the .I subband_pyramid->matrixarray is allocated.The fields.IR subband_pyramid->num_rows and.IR subband_pyramid->num_cols must be set prior to calling.BR QccWAVSubbandPyramidIntAlloc() ..LP.B QccWAVSubbandPyramidIntFree()frees the.I subband_pyramid->matrixarray previously allocated by.BR QccWAVSubbandPyramidIntAlloc() ..LP.B QccWAVSubbandPyramidIntNumLevelsToNumSubbands()calculates the number of subbands in a dyadic subband pyramid with.I num_levels levels. This value is .I num_levels* 3 + 1..LP.B QccWAVSubbandPyramidIntNumSubbandsToNumLevels()calculates the number of levels in a dyadic subband pyramid with.I num_subbands subbands..LP.B QccWAVSubbandPyramidIntCalcLevelFromSubband()calculates the level of the specified.I subbandin a subband pyramid with.I num_levelslevels.Here,.I subbandgives the subband number of the subband in the pyramid (see diagrams above)..LP.B QccWAVSubbandPyramidIntSubbandSize()calculates the size of the specified.I subbandin .IR subband_pyramid .The size of the subband is returned in.I subband_num_rowsand.IR subband_num_cols ,which must be allocated prior to calling.BR QccWAVSubbandPyramidIntSubbandSize() ..LP.B QccWAVSubbandPyramidIntSubbandOffsets()calculates the location in.I subband_pyramid->matrixof the specified.IR subband .The row and column offsets (relative to the upper-left corner of.IR subband_pyramid->matrix )are returned in.I row_offsetand.IR col_offset ,respectively,which must be allocated prior to calling.BR QccWAVSubbandPyramidIntSubbandOffsets() ..LP.B QccWAVSubbandPyramidIntSubbandToQccString()converts the specified.I subbandnumber into a descriptive string giving the type of subband(horizontal, vertical, diagonal, or baseband) and thelevel at which the subband resides in the subband pyramid, in a mannerexemplified by the diagrams above.The string is returned in.IR qccstring ,which must be allocated prior to calling.BR QccWAVSubbandPyramidIntSubbandToQccString() ..LP.B QccWAVSubbandPyramidIntPrint()prints the contents of.I subband_pyramidto stdout..SH "RETURN VALUE"These routines return 0 on success, and 1 on failure..SH "SEE ALSO".BR QccWAVSubbandPyramidIntDWT (3),.BR QccWAVSubbandPyramidIntInverseDWT (3),.BR QccPackWAV (3),.BR QccPack (3).LPA. R. Calderbank, I. Daubechies, W. Sweldens, B.-L. Yeo, "LosslessImage Compression Using Integer to Integer Wavelet Transforms", in.IR "Proceedings of the International Conference on Image Processing" ,Lausanne, Switzerland, pp. 596-599, September 1997.Z. Xiong, X. Wu, S. Cheng, J. Hua, "Lossy-to-Lossless Compression ofMedical Volumetric Data Using Three-Dimensional Integer Wavelet Transforms,".IR "IEEE Transactions on Medical Imaging" ,vol. 22, pp. 459-470, March 2003.M. Antonini, M. Barlaud, P. Mathieu, and I. Daubechies,"Image Coding Using Wavelet Transform,".IR "IEEE Transactions on Image Processing" ,vol. 1, pp. 205-220, April 1992..SH AUTHORCopyright (C) 1997-2009  James E. Fowler.\"  The programs herein are free software; you can redistribute them an.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 + -