|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> |
|
<html xmlns:gcse="googleCustomSearch"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="shortcut icon" href="dlib-icon.ico"><meta name="verify-v1" content="02MiiaFNVzS5/u0eQhsy3/knioFHsia1X3DXRpHkE6I="><meta name="google-site-verification" content="DGSSJMKDomaDaDTIRJ8jDkv0YMx9Cz7OESbXHjjr6Jw"><title>dlib C++ Library |
|
- Data Compression</title><script type="text/javascript" src="dlib.js"></script><link rel="stylesheet" type="text/css" href="dlib.css"></head><body><a name="top"></a><div id="page_header"><a href="http://dlib.net"><img src="dlib-logo.png"></a></div><div id="top_content"><div id="main_menu" class="menu"><div class="menu_top"><b>The Library</b><ul class="tree"><li><a href="algorithms.html" class="menu">Algorithms</a></li><li><a href="api.html" class="menu">API Wrappers</a></li><li><a href="bayes.html" class="menu">Bayesian Nets</a></li><li><a href="compression.html" class="menu">Compression</a></li><li><a href="containers.html" class="menu">Containers</a></li><li><a href="graph_tools.html" class="menu">Graph Tools</a></li><li><a href="imaging.html" class="menu">Image Processing</a></li><li><a href="linear_algebra.html" class="menu">Linear Algebra</a></li><li><a href="ml.html" class="menu">Machine Learning</a></li><li><a href="metaprogramming.html" class="menu">Metaprogramming</a></li><li><a href="other.html" class="menu">Miscellaneous</a></li><li><a href="network.html" class="menu">Networking</a></li><li><a href="optimization.html" class="menu">Optimization</a></li><li><a href="parsing.html" class="menu">Parsing</a></li></ul><br><b>Help/Info</b><ul class="tree"><li><a href="http://blog.dlib.net" class="menu">Dlib Blog</a></li><li><a onclick="Toggle(this)" class="sub menu"><img src="plus.gif">Examples: C++</a><ul style="display:none;"><li><a href="3d_point_cloud_ex.cpp.html" class="menu">3D Point Cloud</a></li><li><a href="assignment_learning_ex.cpp.html" class="menu">Assignment Learning</a></li><li><a href="file_to_code_ex.cpp.html" class="menu">Base64 Encoder</a></li><li><a href="bayes_net_from_disk_ex.cpp.html" class="menu">Bayesian Network From Disk</a></li><li><a href="bayes_net_gui_ex.cpp.html" class="menu">Bayesian Network GUI</a></li><li><a href="bayes_net_ex.cpp.html" class="menu">Bayesian Network</a></li><li><a href="bridge_ex.cpp.html" class="menu">Bridge</a></li><li><a href="bsp_ex.cpp.html" class="menu">BSP</a></li><li><a href="svm_c_ex.cpp.html" class="menu">C-Support Vector Machine</a></li><li><a href="compress_stream_ex.cpp.html#_top" class="menu">Cmd Line Parser</a></li><li><a href="compress_stream_ex.cpp.html" class="menu">Compress Stream</a></li><li><a href="config_reader_ex.cpp.html" class="menu">Config File Reader</a></li><li><a href="custom_trainer_ex.cpp.html" class="menu">Custom Trainers</a></li><li><a href="dnn_face_recognition_ex.cpp.html" class="menu">Deep Face Recognition</a></li><li><a href="dnn_dcgan_train_ex.cpp.html" class="menu">Deep Learning DCGAN</a></li><li><a href="dnn_mmod_dog_hipsterizer.cpp.html" class="menu">Deep Learning Dog Hipsterizer</a></li><li><a href="dnn_mmod_face_detection_ex.cpp.html" class="menu">Deep Learning Face Detection</a></li><li><a href="dnn_imagenet_ex.cpp.html" class="menu">Deep Learning Imagenet Classifier</a></li><li><a href="dnn_imagenet_train_ex.cpp.html" class="menu">Deep Learning Imagenet Trainer </a></li><li><a href="dnn_inception_ex.cpp.html" class="menu">Deep Learning Inception</a></li><li><a href="dnn_instance_segmentation_train_ex.cpp.html" class="menu">Deep Learning Instance Segmentation Trainer</a></li><li><a href="dnn_instance_segmentation_ex.cpp.html" class="menu">Deep Learning Instance Segmentation</a></li><li><a href="dnn_introduction_ex.cpp.html" class="menu">Deep Learning Introduction Part 1</a></li><li><a href="dnn_introduction2_ex.cpp.html" class="menu">Deep Learning Introduction Part 2</a></li><li><a href="dnn_introduction3_ex.cpp.html" class="menu">Deep Learning Introduction Part 3</a></li><li><a href="dnn_mmod_ex.cpp.html" class="menu">Deep Learning Max-Margin Object Detection</a></li><li><a href="dnn_mmod_find_cars2_ex.cpp.html" class="menu">Deep Learning Multi-Class Vehicle Detection</a></li><li><a href="dnn_semantic_segmentation_train_ex.cpp.html" class="menu">Deep Learning Semantic Segmentation Trainer</a></li><li><a href="dnn_semantic_segmentation_ex.cpp.html" class="menu">Deep Learning Semantic Segmentation</a></li><li><a href="dnn_mmod_train_find_cars_ex.cpp.html" class="menu">Deep Learning Vehicle Detection Trainer</a></li><li><a href="dnn_mmod_find_cars_ex.cpp.html" class="menu">Deep Learning Vehicle Detection</a></li><li><a href="dnn_metric_learning_ex.cpp.html" class="menu">Deep Metric Learning Introduction</a></li><li><a href="dnn_metric_learning_on_images_ex.cpp.html" class="menu">Deep Metric Learning on Images</a></li><li><a href="dir_nav_ex.cpp.html" class="menu">Directory Navigation</a></li><li><a href="empirical_kernel_map_ex.cpp.html" class="menu">Empirical Kernel Map</a></li><li><a href="face_detection_ex.cpp.html" class="menu">Face Detection</a></li><li><a href="face_landmark_detection_ex.cpp.html" class="menu">Face Landmark Detection</a></li><li><a href="fhog_ex.cpp.html" class="menu">FHOG Feature Extraction</a></li><li><a href="fhog_object_detector_ex.cpp.html" class="menu">FHOG Object Detection</a></li><li><a href="graph_labeling_ex.cpp.html" class="menu">Graph Labeling</a></li><li><a href="gui_api_ex.cpp.html" class="menu">GUI</a></li><li><a href="hough_transform_ex.cpp.html" class="menu">Hough Transform</a></li><li><a href="server_http_ex.cpp.html" class="menu">HTTP Server</a></li><li><a href="image_ex.cpp.html" class="menu">Image</a></li><li><a href="iosockstream_ex.cpp.html" class="menu">IO Socket Streams</a></li><li><a href="server_iostream_ex.cpp.html" class="menu">IO Streams Server</a></li><li><a href="kcentroid_ex.cpp.html" class="menu">Kernel Centroid</a></li><li><a href="kkmeans_ex.cpp.html" class="menu">Kernel K-Means Clustering</a></li><li><a href="krr_regression_ex.cpp.html" class="menu">Kernel Ridge Regression</a></li><li><a href="krls_filter_ex.cpp.html" class="menu">Kernel RLS Filtering</a></li><li><a href="krls_ex.cpp.html" class="menu">Kernel RLS Regression</a></li><li><a href="krr_classification_ex.cpp.html" class="menu">KRR Classification</a></li><li><a href="learning_to_track_ex.cpp.html" class="menu">Learning to Track</a></li><li><a href="max_cost_assignment_ex.cpp.html" class="menu">Linear Assignment Problems</a></li><li><a href="linear_manifold_regularizer_ex.cpp.html" class="menu">Linear Manifold Regularizer</a></li><li><a href="mpc_ex.cpp.html" class="menu">Linear Model Predictive Control</a></li><li><a href="logger_ex_2.cpp.html" class="menu">Logger Advanced</a></li><li><a href="logger_custom_output_ex.cpp.html" class="menu">Logger Custom Output</a></li><li><a href="logger_ex.cpp.html" class="menu">Logger</a></li><li><a href="matrix_expressions_ex.cpp.html" class="menu">Matrix Expressions</a></li><li><a href="matrix_ex.cpp.html" class="menu">Matrix</a></li><li><a href="member_function_pointer_ex.cpp.html" class="menu">Member Function Pointer</a></li><li><a href="model_selection_ex.cpp.html" class="menu">Model Selection</a></li><li><a href="multiclass_classification_ex.cpp.html" class="menu">Multiclass Classification</a></li><li><a href="multithreaded_object_ex.cpp.html" class="menu">Multithreaded Object</a></li><li><a href="mlp_ex.cpp.html" class="menu">Neural Network</a></li><li><a href="least_squares_ex.cpp.html" class="menu">Non-Linear Least Squares</a></li><li><a href="svm_ex.cpp.html" class="menu">Nu-Support Vector Machine</a></li><li><a href="integrate_function_adapt_simp_ex.cpp.html" class="menu">Numerical Integration</a></li><li><a href="object_detector_advanced_ex.cpp.html" class="menu">Object Detector Advanced</a></li><li><a href="object_detector_ex.cpp.html" class="menu">Object Detector</a></li><li><a href="one_class_classifiers_ex.cpp.html" class="menu">One Class Classifiers</a></li><li><a href="svm_pegasos_ex.cpp.html" class="menu">Online SVM</a></li><li><a href="optimization_ex.cpp.html" class="menu">Optimization</a></li><li><a href="parallel_for_ex.cpp.html" class="menu">Parallel For Loops</a></li><li><a href="pipe_ex_2.cpp.html" class="menu">Pipe 2</a></li><li><a href="pipe_ex.cpp.html" class="menu">Pipe</a></li><li><a href="quantum_computing_ex.cpp.html" class="menu">Quantum Computing</a></li><li><a href="queue_ex.cpp.html" class="menu">Queue</a></li><li><a href="random_cropper_ex.cpp.html" class="menu">Random Cropper</a></li><li><a href="rank_features_ex.cpp.html" class="menu">Rank Features</a></li><li><a href="rvm_ex.cpp.html" class="menu">Relevance Vector Classification</a></li><li><a href="rvm_regression_ex.cpp.html" class="menu">Relevance Vector Regression</a></li><li><a href="running_stats_ex.cpp.html" class="menu">Running Stats</a></li><li><a href="sequence_labeler_ex.cpp.html" class="menu">Sequence Labeling</a></li><li><a href="sequence_segmenter_ex.cpp.html" class="menu">Sequence Segmentation</a></li><li><a href="sockets_ex.cpp.html" class="menu">Sockets</a></li><li><a href="sockstreambuf_ex.cpp.html" class="menu">Sockstreambuf</a></li><li><a href="svm_sparse_ex.cpp.html" class="menu">Sparse Vectors</a></li><li><a href="sqlite_ex.cpp.html" class="menu">SQLite</a></li><li><a href="std_allocator_ex.cpp.html" class="menu">Std C++ Allocator</a></li><li><a href="svm_struct_ex.cpp.html" class="menu">Structural Support Vector Machines</a></li><li><a href="svr_ex.cpp.html" class="menu">Support Vector Regression</a></li><li><a href="surf_ex.cpp.html" class="menu">SURF</a></li><li><a href="svm_rank_ex.cpp.html" class="menu">SVM-Rank</a></li><li><a href="thread_function_ex.cpp.html" class="menu">Thread Function</a></li><li><a href="thread_pool_ex.cpp.html" class="menu">Thread Pool</a></li><li><a href="threaded_object_ex.cpp.html" class="menu">Threaded Object</a></li><li><a href="threads_ex.cpp.html" class="menu">Threads</a></li><li><a href="timer_ex.cpp.html" class="menu">Timer</a></li><li><a href="train_object_detector.cpp.html" class="menu">Train Object Detector</a></li><li><a href="train_shape_predictor_ex.cpp.html" class="menu">Train Shape Predictor</a></li><li><a href="using_custom_kernels_ex.cpp.html" class="menu">Using Custom Kernels</a></li><li><a href="video_tracking_ex.cpp.html" class="menu">Video Object Tracking</a></li><li><a href="webcam_face_pose_ex.cpp.html" class="menu">Webcam Face Pose Estimation</a></li><li><a href="xml_parser_ex.cpp.html" class="menu">XML Parser</a></li></ul></li><li><a onclick="Toggle(this)" class="sub menu"><img src="plus.gif">Examples: Python</a><ul style="display:none;"><li><a href="svm_binary_classifier.py.html" class="menu">Binary Classification</a></li><li><a href="cnn_face_detector.py.html" class="menu">CNN Face Detector</a></li><li><a href="face_alignment.py.html" class="menu">Face Alignment</a></li><li><a href="face_clustering.py.html" class="menu">Face Clustering</a></li><li><a href="face_detector.py.html" class="menu">Face Detector</a></li><li><a href="face_jitter.py.html" class="menu">Face Jittering/Augmentation</a></li><li><a href="face_landmark_detection.py.html" class="menu">Face Landmark Detection</a></li><li><a href="face_recognition.py.html" class="menu">Face Recognition</a></li><li><a href="find_candidate_object_locations.py.html" class="menu">Find Candidate Object Locations</a></li><li><a href="global_optimization.py.html" class="menu">Global Optimization</a></li><li><a href="max_cost_assignment.py.html" class="menu">Linear Assignment Problems</a></li><li><a href="sequence_segmenter.py.html" class="menu">Sequence Segmenter</a></li><li><a href="svm_struct.py.html" class="menu">Structural Support Vector Machines</a></li><li><a href="svm_rank.py.html" class="menu">SVM-Rank</a></li><li><a href="train_object_detector.py.html" class="menu">Train Object Detector</a></li><li><a href="train_shape_predictor.py.html" class="menu">Train Shape Predictor</a></li><li><a href="correlation_tracker.py.html" class="menu">Video Object Tracking</a></li></ul></li><li><a href="faq.html" class="menu">FAQ</a></li><li><a href="index.html" class="menu">Home</a></li><li><a href="compile.html" class="menu">How to compile</a></li><li><a href="howto_contribute.html" class="menu">How to contribute</a></li><li><a href="term_index.html" class="menu">Index</a></li><li><a href="intro.html" class="menu">Introduction</a></li><li><a href="license.html" class="menu">License</a></li><li><a href="python/index.html" class="menu">Python API</a></li><li><a href="books.html" class="menu">Suggested Books</a></li><li><a href="http://sourceforge.net/p/dclib/wiki/Known_users/" class="menu">Who uses dlib?</a></li></ul><br><b>Current Release</b><ul class="tree"><li><a href="change_log.html" class="menu">Change Log</a></li><li><a href="release_notes.html" class="menu">Release Notes</a></li><li>Version: 19.22</li></ul><br></div><div class="menu_footer"> |
|
Last Modified:<br>Sep 13, 2015</div></div><div id="main_text"><div id="main_text_title">Data Compression</div><div id="main_text_body"><p> |
|
This page contains a bunch of objects that implement various parts of compression algorithms. |
|
They can be put together in different ways to construct many different algorithms. |
|
Note that the <a href="#compress_stream">compress_stream</a> object contains complete compression algorithms. So if you |
|
just want to compress some data then you can easily use that object and not bother with the others. |
|
</p><p> |
|
In the column to the right you can see benchmark data for each of the compress_stream |
|
typedefs. The times measured are the time it takes to compress and then |
|
decompress each file. It was run on a 3.0ghz P4. For reference see the Canterbury corpus |
|
<a href="http://corpus.canterbury.ac.nz/">web site</a>. |
|
</p></div></div><div id="right_menu" class="menu"><div class="menu_top"><b>Objects</b><ul class="tree"><li><a href="#compress_stream" class="menu">compress_stream</a></li><li><a href="#conditioning_class" class="menu">conditioning_class</a></li><li><a href="#entropy_decoder" class="menu">entropy_decoder</a></li><li><a href="#entropy_decoder_model" class="menu">entropy_decoder_model</a></li><li><a href="#entropy_encoder" class="menu">entropy_encoder</a></li><li><a href="#entropy_encoder_model" class="menu">entropy_encoder_model</a></li><li><a href="#lz77_buffer" class="menu">lz77_buffer</a></li><li><a href="#lzp_buffer" class="menu">lzp_buffer</a></li></ul><br><b>Benchmarks</b><ul class="tree"><li><a href="kernel_1a.html" class="menu">kernel_1a</a></li><li><a href="kernel_1b.html" class="menu">kernel_1b</a></li><li><a href="kernel_1c.html" class="menu">kernel_1c</a></li><li><a href="kernel_1da.html" class="menu">kernel_1da</a></li><li><a href="kernel_1db.html" class="menu">kernel_1db</a></li><li><a href="kernel_1ea.html" class="menu">kernel_1ea</a></li><li><a href="kernel_1eb.html" class="menu">kernel_1eb</a></li><li><a href="kernel_1ec.html" class="menu">kernel_1ec</a></li><li><a href="kernel_2a.html" class="menu">kernel_2a</a></li><li><a href="kernel_3a.html" class="menu">kernel_3a</a></li><li><a href="kernel_3b.html" class="menu">kernel_3b</a></li></ul><br></div><div class="menu_footer"></div></div></div><div id="bottom_content"><a name="compress_stream"></a><div class="component"><a href="#top"><font size="2"><center>[top]</center></font></a><h1 style="margin:0px;">compress_stream</h1><BR><BR> |
|
This object is pretty straight forward. It has no state and just |
|
contains the functions compress and decompress. |
|
They do just what their names imply to iostream objects. |
|
<BR><BR>C++ Example Programs: <a href="compress_stream_ex.cpp.html">compress_stream_ex.cpp</a>, |
|
<a href="file_to_code_ex.cpp.html">file_to_code_ex.cpp</a><div class="include_file_more_details_wrapper"><a class="more_details" href="dlib/compress_stream/compress_stream_kernel_abstract.h.html">More Details...</a><div class="include_file">#include <dlib/compress_stream.h></div></div><BR><BR><B>Implementations:</B><blockquote><a href="dlib/compress_stream/compress_stream_kernel_1.h.html">compress_stream_kernel_1</a>: |
|
<br> |
|
This implementation is done using the <a href="#entropy_encoder_model">entropy_encoder_model</a> and |
|
<a href="#entropy_decoder_model">entropy_decoder_model</a> objects. |
|
<div class="typedefs"><table CELLSPACING="0" CELLPADDING="0" bgcolor="white"><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_1a</div></td><td width="100%" bgcolor="#E3E3E3">is a typedef for compress_stream_kernel_1 which uses entropy_decoder_model_kernel_1b and entropy_decoder_model_kernel_1b</td></tr><tr><td valign="top"><div class="tdn">kernel_1b</div></td><td width="100%">is a typedef for compress_stream_kernel_1 which uses entropy_decoder_model_kernel_2b and entropy_decoder_model_kernel_2b </td></tr><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_1c</div></td><td width="100%" bgcolor="#E3E3E3">is a typedef for compress_stream_kernel_1 which uses entropy_decoder_model_kernel_3b and entropy_decoder_model_kernel_3b </td></tr><tr><td valign="top"><div class="tdn">kernel_1da</div></td><td width="100%">is a typedef for compress_stream_kernel_1 which uses entropy_decoder_model_kernel_4a and entropy_decoder_model_kernel_4a </td></tr><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_1db</div></td><td width="100%" bgcolor="#E3E3E3">is a typedef for compress_stream_kernel_1 which uses entropy_decoder_model_kernel_4b and entropy_decoder_model_kernel_4b </td></tr><tr><td valign="top"><div class="tdn">kernel_1ea</div></td><td width="100%">is a typedef for compress_stream_kernel_1 which uses entropy_decoder_model_kernel_5a and entropy_decoder_model_kernel_5a </td></tr><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_1eb</div></td><td width="100%" bgcolor="#E3E3E3">is a typedef for compress_stream_kernel_1 which uses entropy_decoder_model_kernel_5b and entropy_decoder_model_kernel_5b </td></tr><tr><td valign="top"><div class="tdn">kernel_1ec</div></td><td width="100%">is a typedef for compress_stream_kernel_1 which uses entropy_decoder_model_kernel_5c and entropy_decoder_model_kernel_5c </td></tr></table></div></blockquote><blockquote><a href="dlib/compress_stream/compress_stream_kernel_2.h.html">compress_stream_kernel_2</a>: |
|
<br> |
|
This implementation is done using the <a href="#entropy_encoder_model">entropy_encoder_model</a> and |
|
<a href="#entropy_decoder_model">entropy_decoder_model</a> objects. It also uses the |
|
<a href="#lz77_buffer">lz77_buffer</a> object. It uses the entropy coder models to |
|
encode symbols when there is no match found by the lz77_buffer. |
|
<div class="typedefs"><table CELLSPACING="0" CELLPADDING="0" bgcolor="white"><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_2a</div></td><td width="100%" bgcolor="#E3E3E3">is a typedef for compress_stream_kernel_2 which uses entropy_encoder_model_kernel_2b, entropy_decoder_model_kernel_2b, and lz77_buffer_kernel_2a.</td></tr></table></div></blockquote><blockquote><a href="dlib/compress_stream/compress_stream_kernel_3.h.html">compress_stream_kernel_3</a>: |
|
<br> |
|
This implementation is done using the <a href="#lzp_buffer">lzp_buffer</a> object and |
|
<a href="other.html#crc32">crc32</a> object. It does not use any sort of entropy coding, instead |
|
a byte aligned output method is used. |
|
<div class="typedefs"><table CELLSPACING="0" CELLPADDING="0" bgcolor="white"><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_3a</div></td><td width="100%" bgcolor="#E3E3E3">is a typedef for compress_stream_kernel_3 which uses lzp_buffer_kernel_1.</td></tr><tr><td valign="top"><div class="tdn">kernel_3b</div></td><td width="100%">is a typedef for compress_stream_kernel_3 which uses lzp_buffer_kernel_2.</td></tr></table></div></blockquote></div><a name="conditioning_class"></a><div class="component"><a href="#top"><font size="2"><center>[top]</center></font></a><h1 style="margin:0px;">conditioning_class</h1><BR><BR> |
|
This object represents a conditioning class used for arithmetic style |
|
compression. It maintains the cumulative counts which are needed |
|
by the entropy_encoder and entropy_decoder objects below. |
|
<BR><div class="include_file_more_details_wrapper"><a class="more_details" href="dlib/conditioning_class/conditioning_class_kernel_abstract.h.html">More Details...</a><div class="include_file">#include <dlib/conditioning_class.h></div></div><BR><BR><B>Implementations:</B><blockquote><a href="dlib/conditioning_class/conditioning_class_kernel_1.h.html">conditioning_class_kernel_1</a>: |
|
<br> |
|
This implementation is done using an array to store all the counts and they are summed |
|
whenever the cumulative counts are requested. It's pretty straight forward. |
|
<div class="typedefs"><table CELLSPACING="0" CELLPADDING="0" bgcolor="white"><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_1a</div></td><td width="100%" bgcolor="#E3E3E3">is a typedef for conditioning_class_kernel_1</td></tr><tr><td valign="top"><div class="tdn">kernel_1a_c</div></td><td width="100%"> |
|
is a typedef for kernel_1a that checks its preconditions. |
|
</td></tr></table></div></blockquote><blockquote><a href="dlib/conditioning_class/conditioning_class_kernel_2.h.html">conditioning_class_kernel_2</a>: |
|
<br> |
|
This implementation is done using a binary tree where each node in the tree represents one symbol and |
|
contains that symbols count and the sum of all the counts for the nodes to the left. This way |
|
when you request a cumulative count it can be computed by visiting log n nodes where n is the |
|
size of the alphabet. |
|
<div class="typedefs"><table CELLSPACING="0" CELLPADDING="0" bgcolor="white"><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_2a</div></td><td width="100%" bgcolor="#E3E3E3">is a typedef for conditioning_class_kernel_2</td></tr><tr><td valign="top"><div class="tdn">kernel_2a_c</div></td><td width="100%"> |
|
is a typedef for kernel_2a that checks its preconditions. |
|
</td></tr></table></div></blockquote><blockquote><a href="dlib/conditioning_class/conditioning_class_kernel_3.h.html">conditioning_class_kernel_3</a>: |
|
<br> |
|
This implementation is done using an array to store all the counts and they are |
|
summed whenever the cumulative counts are requested. The counts are also kept in |
|
semi-sorted order to speed up the calculation of the cumulative count. |
|
<div class="typedefs"><table CELLSPACING="0" CELLPADDING="0" bgcolor="white"><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_3a</div></td><td width="100%" bgcolor="#E3E3E3">is a typedef for conditioning_class_kernel_3</td></tr><tr><td valign="top"><div class="tdn">kernel_3a_c</div></td><td width="100%"> |
|
is a typedef for kernel_3a that checks its preconditions. |
|
</td></tr></table></div></blockquote><blockquote><a href="dlib/conditioning_class/conditioning_class_kernel_4.h.html">conditioning_class_kernel_4</a>: |
|
<br> |
|
This implementation is done using a linked list to store all the counts and they are |
|
summed whenever the cumulative counts are requested. The counts are also kept in |
|
semi-sorted order to speed up the calculation of the cumulative count. This implementation |
|
also uses the <a href="other.html#memory_manager">memory_manager</a> component to create a |
|
memory pool of linked list nodes. This implementation is especially useful for high order |
|
contexts and/or very large and sparse alphabets. |
|
<div class="typedefs"><table CELLSPACING="0" CELLPADDING="0" bgcolor="white"><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_4a</div></td><td width="100%" bgcolor="#E3E3E3">is a typedef for conditioning_class_kernel_4 with a memory pool of 10,000 nodes.</td></tr><tr><td valign="top"><div class="tdn">kernel_4a_c</div></td><td width="100%"> |
|
is a typedef for kernel_4a that checks its preconditions. |
|
</td></tr><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_4b</div></td><td width="100%" bgcolor="#E3E3E3">is a typedef for conditioning_class_kernel_4 with a memory pool of 100,000 nodes.</td></tr><tr><td valign="top"><div class="tdn">kernel_4b_c</div></td><td width="100%"> |
|
is a typedef for kernel_4b that checks its preconditions. |
|
</td></tr><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_4c</div></td><td width="100%" bgcolor="#E3E3E3">is a typedef for conditioning_class_kernel_4 with a memory pool of 1,000,000 nodes.</td></tr><tr><td valign="top"><div class="tdn">kernel_4c_c</div></td><td width="100%"> |
|
is a typedef for kernel_4c that checks its preconditions. |
|
</td></tr><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_4d</div></td><td width="100%" bgcolor="#E3E3E3">is a typedef for conditioning_class_kernel_4 with a memory pool of 10,000,000 nodes.</td></tr><tr><td valign="top"><div class="tdn">kernel_4d_c</div></td><td width="100%"> |
|
is a typedef for kernel_4d that checks its preconditions. |
|
</td></tr></table></div></blockquote></div><a name="entropy_decoder"></a><div class="component"><a href="#top"><font size="2"><center>[top]</center></font></a><h1 style="margin:0px;">entropy_decoder</h1><BR><BR> |
|
This object represents an entropy decoder. E.g. the decoding part of |
|
an arithmetic coder. |
|
<BR><div class="include_file_more_details_wrapper"><a class="more_details" href="dlib/entropy_decoder/entropy_decoder_kernel_abstract.h.html">More Details...</a><div class="include_file">#include <dlib/entropy_decoder.h></div></div><BR><BR><B>Implementations:</B><blockquote><a href="dlib/entropy_decoder/entropy_decoder_kernel_1.h.html">entropy_decoder_kernel_1</a>: |
|
<br> |
|
This object is implemented using arithmetic coding and is done in the |
|
straight forward way using integers and fixed precision math. |
|
<div class="typedefs"><table CELLSPACING="0" CELLPADDING="0" bgcolor="white"><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_1a</div></td><td width="100%" bgcolor="#E3E3E3">is a typedef for entropy_decoder_kernel_1</td></tr><tr><td valign="top"><div class="tdn">kernel_1a_c</div></td><td width="100%"> |
|
is a typedef for kernel_1a that checks its preconditions. |
|
</td></tr></table></div></blockquote><blockquote><a href="dlib/entropy_decoder/entropy_decoder_kernel_2.h.html">entropy_decoder_kernel_2</a>: |
|
<br> |
|
This object is implemented using "range" coding and is done |
|
in the straight forward way using integers and fixed precision math. |
|
<div class="typedefs"><table CELLSPACING="0" CELLPADDING="0" bgcolor="white"><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_2a</div></td><td width="100%" bgcolor="#E3E3E3">is a typedef for entropy_decoder_kernel_2</td></tr><tr><td valign="top"><div class="tdn">kernel_2a_c</div></td><td width="100%"> |
|
is a typedef for kernel_2a that checks its preconditions. |
|
</td></tr></table></div></blockquote></div><a name="entropy_decoder_model"></a><div class="component"><a href="#top"><font size="2"><center>[top]</center></font></a><h1 style="margin:0px;">entropy_decoder_model</h1><BR><BR> |
|
This object represents some kind of statistical model. You |
|
can use it to read symbols from an entropy_decoder and it will calculate |
|
the cumulative counts/probabilities and manage contexts for you. |
|
<BR><div class="include_file_more_details_wrapper"><a class="more_details" href="dlib/entropy_decoder_model/entropy_decoder_model_kernel_abstract.h.html">More Details...</a><div class="include_file">#include <dlib/entropy_decoder_model.h></div></div><BR><BR><B>Implementations:</B><blockquote><a href="dlib/entropy_decoder_model/entropy_decoder_model_kernel_1.h.html">entropy_decoder_model_kernel_1</a>: |
|
<br> |
|
This object is implemented using the <a href="#conditioning_class">conditioning_class</a> component. |
|
It implements an <i>order-0</i> finite context model and uses lazy exclusions and update exclusions. |
|
The escape method used is method D. |
|
<div class="typedefs"><table CELLSPACING="0" CELLPADDING="0" bgcolor="white"><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_1a</div></td><td width="100%" bgcolor="#E3E3E3">is a typedef for entropy_decoder_model_kernel_1 that uses conditioning_class_kernel_1a</td></tr><tr><td valign="top"><div class="tdn">kernel_1b</div></td><td width="100%">is a typedef for entropy_decoder_model_kernel_1 that uses conditioning_class_kernel_2a</td></tr><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_1c</div></td><td width="100%" bgcolor="#E3E3E3">is a typedef for entropy_decoder_model_kernel_1 that uses conditioning_class_kernel_3a</td></tr></table></div></blockquote><blockquote><a href="dlib/entropy_decoder_model/entropy_decoder_model_kernel_2.h.html">entropy_decoder_model_kernel_2</a>: |
|
<br> |
|
This object is implemented using the <a href="#conditioning_class">conditioning_class</a> component. |
|
It implements an <i>order-1-0</i> finite context model and uses lazy exclusions and update exclusions. |
|
The escape method used is method D. |
|
<div class="typedefs"><table CELLSPACING="0" CELLPADDING="0" bgcolor="white"><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_2a</div></td><td width="100%" bgcolor="#E3E3E3">is a typedef for entropy_decoder_model_kernel_2 that uses conditioning_class_kernel_1a</td></tr><tr><td valign="top"><div class="tdn">kernel_2b</div></td><td width="100%">is a typedef for entropy_decoder_model_kernel_2 that uses conditioning_class_kernel_2a</td></tr><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_2c</div></td><td width="100%" bgcolor="#E3E3E3">is a typedef for entropy_decoder_model_kernel_2 that uses conditioning_class_kernel_3a</td></tr><tr><td valign="top"><div class="tdn">kernel_2d</div></td><td width="100%">is a typedef for entropy_decoder_model_kernel_2 that uses conditioning_class_kernel_2a for its order-0 |
|
context and conditioning_class_kernel_4b for its order-1 context.</td></tr></table></div></blockquote><blockquote><a href="dlib/entropy_decoder_model/entropy_decoder_model_kernel_3.h.html">entropy_decoder_model_kernel_3</a>: |
|
<br> |
|
This object is implemented using the <a href="#conditioning_class">conditioning_class</a> component. |
|
It implements an <i>order-2-1-0</i> finite context model and uses lazy exclusions and update exclusions. |
|
The escape method used is method D. |
|
<div class="typedefs"><table CELLSPACING="0" CELLPADDING="0" bgcolor="white"><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_3a</div></td><td width="100%" bgcolor="#E3E3E3"> is a typedef for entropy_decoder_model_kernel_3 that uses conditioning_class_kernel_1a for orders 0 and 1 |
|
and conditioning_class_kernel_4b for order-2.</td></tr><tr><td valign="top"><div class="tdn">kernel_3b</div></td><td width="100%"> is a typedef for entropy_decoder_model_kernel_3 that uses conditioning_class_kernel_2a for orders 0 and 1 |
|
and conditioning_class_kernel_4b for order-2.</td></tr><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_3c</div></td><td width="100%" bgcolor="#E3E3E3"> is a typedef for entropy_decoder_model_kernel_3 that uses conditioning_class_kernel_3a for orders 0 and 1 |
|
and conditioning_class_kernel_4b for order-2.</td></tr></table></div></blockquote><blockquote><a href="dlib/entropy_decoder_model/entropy_decoder_model_kernel_4.h.html">entropy_decoder_model_kernel_4</a>: |
|
<br> |
|
This object is implemented using a variation of the PPM algorithm described by Alistair Moffat in his paper "Implementing |
|
the PPM data compression scheme." |
|
It provides template arguments to select the maximum order and maximum memory to use. For speed, |
|
exclusions are not used. The escape method used is method D. |
|
<div class="typedefs"><table CELLSPACING="0" CELLPADDING="0" bgcolor="white"><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_4a</div></td><td width="100%" bgcolor="#E3E3E3"> is a typedef for entropy_decoder_model_kernel_4 with the max order set to 4 and the max number |
|
of nodes set to 200,000</td></tr><tr><td valign="top"><div class="tdn">kernel_4b</div></td><td width="100%"> is a typedef for entropy_decoder_model_kernel_4 with the max order set to 5 and the max number |
|
of nodes set to 1,000,000</td></tr></table></div></blockquote><blockquote><a href="dlib/entropy_decoder_model/entropy_decoder_model_kernel_5.h.html">entropy_decoder_model_kernel_5</a>: |
|
<br> |
|
This object is implemented using a variation of the PPM algorithm described by Alistair Moffat in his paper "Implementing |
|
the PPM data compression scheme." |
|
It provides template arguments to select the maximum order and maximum memory to use. Exclusions are used. The escape method used is method D. |
|
This implementation is very much like kernel_4 except it is tuned for higher compression rather than speed. |
|
This also uses Dmitry Shkarin's Information Inheritance scheme. |
|
<div class="typedefs"><table CELLSPACING="0" CELLPADDING="0" bgcolor="white"><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_5a</div></td><td width="100%" bgcolor="#E3E3E3"> is a typedef for entropy_decoder_model_kernel_5 with the max order set to 4 and the max number |
|
of nodes set to 200,000</td></tr><tr><td valign="top"><div class="tdn">kernel_5b</div></td><td width="100%"> is a typedef for entropy_decoder_model_kernel_5 with the max order set to 5 and the max number |
|
of nodes set to 1,000,000</td></tr><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_5c</div></td><td width="100%" bgcolor="#E3E3E3"> is a typedef for entropy_decoder_model_kernel_5 with the max order set to 7 and the max number |
|
of nodes set to 2,500,000</td></tr></table></div></blockquote><blockquote><a href="dlib/entropy_decoder_model/entropy_decoder_model_kernel_6.h.html">entropy_decoder_model_kernel_6</a>: |
|
<br> |
|
This object just assigns every symbol the same probability. I.e. it uses an <i>order-(-1)</i> model. |
|
<div class="typedefs"><table CELLSPACING="0" CELLPADDING="0" bgcolor="white"><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_6a</div></td><td width="100%" bgcolor="#E3E3E3">is a typedef for entropy_decoder_model_kernel_6</td></tr></table></div></blockquote></div><a name="entropy_encoder"></a><div class="component"><a href="#top"><font size="2"><center>[top]</center></font></a><h1 style="margin:0px;">entropy_encoder</h1><BR><BR> |
|
This object represents an entropy encoder. E.g. the encoding part of |
|
an arithmetic coder. |
|
<BR><div class="include_file_more_details_wrapper"><a class="more_details" href="dlib/entropy_encoder/entropy_encoder_kernel_abstract.h.html">More Details...</a><div class="include_file">#include <dlib/entropy_encoder.h></div></div><BR><BR><B>Implementations:</B><blockquote><a href="dlib/entropy_encoder/entropy_encoder_kernel_1.h.html">entropy_encoder_kernel_1</a>: |
|
<br> |
|
This object is implemented using arithmetic coding and is done in the |
|
straight forward way using integers and fixed precision math. |
|
<div class="typedefs"><table CELLSPACING="0" CELLPADDING="0" bgcolor="white"><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_1a</div></td><td width="100%" bgcolor="#E3E3E3">is a typedef for entropy_encoder_kernel_1</td></tr><tr><td valign="top"><div class="tdn">kernel_1a_c</div></td><td width="100%"> |
|
is a typedef for kernel_1a that checks its preconditions. |
|
</td></tr></table></div></blockquote><blockquote><a href="dlib/entropy_encoder/entropy_encoder_kernel_2.h.html">entropy_encoder_kernel_2</a>: |
|
<br> |
|
This object is implemented using "range" coding and is done |
|
in the straight forward way using integers and fixed precision math. |
|
<div class="typedefs"><table CELLSPACING="0" CELLPADDING="0" bgcolor="white"><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_2a</div></td><td width="100%" bgcolor="#E3E3E3">is a typedef for entropy_encoder_kernel_2</td></tr><tr><td valign="top"><div class="tdn">kernel_2a_c</div></td><td width="100%"> |
|
is a typedef for kernel_2a that checks its preconditions. |
|
</td></tr></table></div></blockquote></div><a name="entropy_encoder_model"></a><div class="component"><a href="#top"><font size="2"><center>[top]</center></font></a><h1 style="margin:0px;">entropy_encoder_model</h1><BR><BR> |
|
This object represents some kind of statistical model. You |
|
can use it to write symbols to an entropy_encoder and it will calculate |
|
the cumulative counts/probabilities and manage contexts for you. |
|
<BR><div class="include_file_more_details_wrapper"><a class="more_details" href="dlib/entropy_encoder_model/entropy_encoder_model_kernel_abstract.h.html">More Details...</a><div class="include_file">#include <dlib/entropy_encoder_model.h></div></div><BR><BR><B>Implementations:</B><blockquote><a href="dlib/entropy_encoder_model/entropy_encoder_model_kernel_1.h.html">entropy_encoder_model_kernel_1</a>: |
|
<br> |
|
This object is implemented using the <a href="#conditioning_class">conditioning_class</a> component. |
|
It implements an <i>order-0</i> finite context model and uses lazy exclusions and update exclusions. |
|
The escape method used is method D. |
|
<div class="typedefs"><table CELLSPACING="0" CELLPADDING="0" bgcolor="white"><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_1a</div></td><td width="100%" bgcolor="#E3E3E3">is a typedef for entropy_encoder_model_kernel_1 that uses conditioning_class_kernel_1a</td></tr><tr><td valign="top"><div class="tdn">kernel_1a_c</div></td><td width="100%"> |
|
is a typedef for kernel_1a that checks its preconditions. |
|
</td></tr><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_1b</div></td><td width="100%" bgcolor="#E3E3E3">is a typedef for entropy_encoder_model_kernel_1 that uses conditioning_class_kernel_2a</td></tr><tr><td valign="top"><div class="tdn">kernel_1b_c</div></td><td width="100%"> |
|
is a typedef for kernel_1b that checks its preconditions. |
|
</td></tr><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_1c</div></td><td width="100%" bgcolor="#E3E3E3">is a typedef for entropy_encoder_model_kernel_1 that uses conditioning_class_kernel_3a</td></tr><tr><td valign="top"><div class="tdn">kernel_1c_c</div></td><td width="100%"> |
|
is a typedef for kernel_1c that checks its preconditions. |
|
</td></tr></table></div></blockquote><blockquote><a href="dlib/entropy_encoder_model/entropy_encoder_model_kernel_2.h.html">entropy_encoder_model_kernel_2</a>: |
|
<br> |
|
This object is implemented using the <a href="#conditioning_class">conditioning_class</a> component. |
|
It implements an <i>order-1-0</i> finite context model and uses lazy exclusions and update exclusions. |
|
The escape method used is method D. |
|
<div class="typedefs"><table CELLSPACING="0" CELLPADDING="0" bgcolor="white"><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_2a</div></td><td width="100%" bgcolor="#E3E3E3">is a typedef for entropy_encoder_model_kernel_2 that uses conditioning_class_kernel_1a</td></tr><tr><td valign="top"><div class="tdn">kernel_2a_c</div></td><td width="100%"> |
|
is a typedef for kernel_2a that checks its preconditions. |
|
</td></tr><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_2b</div></td><td width="100%" bgcolor="#E3E3E3">is a typedef for entropy_encoder_model_kernel_2 that uses conditioning_class_kernel_2a</td></tr><tr><td valign="top"><div class="tdn">kernel_2b_c</div></td><td width="100%"> |
|
is a typedef for kernel_2b that checks its preconditions. |
|
</td></tr><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_2c</div></td><td width="100%" bgcolor="#E3E3E3">is a typedef for entropy_encoder_model_kernel_2 that uses conditioning_class_kernel_3a</td></tr><tr><td valign="top"><div class="tdn">kernel_2c_c</div></td><td width="100%"> |
|
is a typedef for kernel_2c that checks its preconditions. |
|
</td></tr><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_2d</div></td><td width="100%" bgcolor="#E3E3E3">is a typedef for entropy_encoder_model_kernel_2 that uses conditioning_class_kernel_2a for its order-0 |
|
context and conditioning_class_kernel_4b for its order-1 context.</td></tr><tr><td valign="top"><div class="tdn">kernel_2d_c</div></td><td width="100%"> |
|
is a typedef for kernel_2d that checks its preconditions. |
|
</td></tr></table></div></blockquote><blockquote><a href="dlib/entropy_encoder_model/entropy_encoder_model_kernel_3.h.html">entropy_encoder_model_kernel_3</a>: |
|
<br> |
|
This object is implemented using the <a href="#conditioning_class">conditioning_class</a> component. |
|
It implements an <i>order-2-1-0</i> finite context model and uses lazy exclusions and update exclusions. |
|
The escape method used is method D. |
|
<div class="typedefs"><table CELLSPACING="0" CELLPADDING="0" bgcolor="white"><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_3a</div></td><td width="100%" bgcolor="#E3E3E3"> is a typedef for entropy_encoder_model_kernel_3 that uses conditioning_class_kernel_1a for orders 0 and 1 |
|
and conditioning_class_kernel_4b for order-2.</td></tr><tr><td valign="top"><div class="tdn">kernel_3a_c</div></td><td width="100%"> |
|
is a typedef for kernel_3a that checks its preconditions. |
|
</td></tr><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_3b</div></td><td width="100%" bgcolor="#E3E3E3"> is a typedef for entropy_encoder_model_kernel_3 that uses conditioning_class_kernel_2a for orders 0 and 1 |
|
and conditioning_class_kernel_4b for order-2.</td></tr><tr><td valign="top"><div class="tdn">kernel_3b_c</div></td><td width="100%"> |
|
is a typedef for kernel_3b that checks its preconditions. |
|
</td></tr><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_3c</div></td><td width="100%" bgcolor="#E3E3E3"> is a typedef for entropy_encoder_model_kernel_3 that uses conditioning_class_kernel_3a for orders 0 and 1 |
|
and conditioning_class_kernel_4b for order-2.</td></tr><tr><td valign="top"><div class="tdn">kernel_3c_c</div></td><td width="100%"> |
|
is a typedef for kernel_3c that checks its preconditions. |
|
</td></tr></table></div></blockquote><blockquote><a href="dlib/entropy_encoder_model/entropy_encoder_model_kernel_4.h.html">entropy_encoder_model_kernel_4</a>: |
|
<br> |
|
This object is implemented using a variation of the PPM algorithm described by Alistair Moffat in his paper "Implementing |
|
the PPM data compression scheme." |
|
It provides template arguments to select the maximum order and maximum memory to use. For speed, |
|
exclusions are not used. The escape method used is method D. |
|
<div class="typedefs"><table CELLSPACING="0" CELLPADDING="0" bgcolor="white"><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_4a</div></td><td width="100%" bgcolor="#E3E3E3"> is a typedef for entropy_encoder_model_kernel_4 with the max order set to 4 and the max number |
|
of nodes set to 200,000</td></tr><tr><td valign="top"><div class="tdn">kernel_4a_c</div></td><td width="100%"> |
|
is a typedef for kernel_4a that checks its preconditions. |
|
</td></tr><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_4b</div></td><td width="100%" bgcolor="#E3E3E3"> is a typedef for entropy_encoder_model_kernel_4 with the max order set to 5 and the max number |
|
of nodes set to 1,000,000</td></tr><tr><td valign="top"><div class="tdn">kernel_4b_c</div></td><td width="100%"> |
|
is a typedef for kernel_4b that checks its preconditions. |
|
</td></tr></table></div></blockquote><blockquote><a href="dlib/entropy_encoder_model/entropy_encoder_model_kernel_5.h.html">entropy_encoder_model_kernel_5</a>: |
|
<br> |
|
This object is implemented using a variation of the PPM algorithm described by Alistair Moffat in his paper "Implementing |
|
the PPM data compression scheme." |
|
It provides template arguments to select the maximum order and maximum memory to use. Exclusions are used. The escape method used is method D. |
|
This implementation is very much like kernel_4 except it is tuned for higher compression rather than speed. |
|
This also uses Dmitry Shkarin's Information Inheritance scheme. |
|
<div class="typedefs"><table CELLSPACING="0" CELLPADDING="0" bgcolor="white"><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_5a</div></td><td width="100%" bgcolor="#E3E3E3"> is a typedef for entropy_encoder_model_kernel_5 with the max order set to 4 and the max number |
|
of nodes set to 200,000</td></tr><tr><td valign="top"><div class="tdn">kernel_5a_c</div></td><td width="100%"> |
|
is a typedef for kernel_5a that checks its preconditions. |
|
</td></tr><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_5b</div></td><td width="100%" bgcolor="#E3E3E3"> is a typedef for entropy_encoder_model_kernel_5 with the max order set to 5 and the max number |
|
of nodes set to 1,000,000</td></tr><tr><td valign="top"><div class="tdn">kernel_5b_c</div></td><td width="100%"> |
|
is a typedef for kernel_5b that checks its preconditions. |
|
</td></tr><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_5c</div></td><td width="100%" bgcolor="#E3E3E3"> is a typedef for entropy_encoder_model_kernel_5 with the max order set to 7 and the max number |
|
of nodes set to 2,500,000</td></tr><tr><td valign="top"><div class="tdn">kernel_5c_c</div></td><td width="100%"> |
|
is a typedef for kernel_5c that checks its preconditions. |
|
</td></tr></table></div></blockquote><blockquote><a href="dlib/entropy_encoder_model/entropy_encoder_model_kernel_6.h.html">entropy_encoder_model_kernel_6</a>: |
|
<br> |
|
This object just assigns every symbol the same probability. I.e. it uses an <i>order-(-1)</i> model. |
|
<div class="typedefs"><table CELLSPACING="0" CELLPADDING="0" bgcolor="white"><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_6a</div></td><td width="100%" bgcolor="#E3E3E3">is a typedef for entropy_encoder_model_kernel_6</td></tr><tr><td valign="top"><div class="tdn">kernel_6a_c</div></td><td width="100%"> |
|
is a typedef for kernel_6a that checks its preconditions. |
|
</td></tr></table></div></blockquote></div><a name="lz77_buffer"></a><div class="component"><a href="#top"><font size="2"><center>[top]</center></font></a><h1 style="margin:0px;">lz77_buffer</h1><BR><BR> |
|
This object represents a pair of buffers (history and lookahead buffers) |
|
used during lz77 style compression. |
|
<BR><div class="include_file_more_details_wrapper"><a class="more_details" href="dlib/lz77_buffer/lz77_buffer_kernel_abstract.h.html">More Details...</a><div class="include_file">#include <dlib/lz77_buffer.h></div></div><BR><BR><B>Implementations:</B><blockquote><a href="dlib/lz77_buffer/lz77_buffer_kernel_1.h.html">lz77_buffer_kernel_1</a>: |
|
<br> |
|
This object is implemented using the <a href="containers.html#sliding_buffer">sliding_buffer</a> and it |
|
just does simple linear searches of the history buffer to find matches. |
|
<div class="typedefs"><table CELLSPACING="0" CELLPADDING="0" bgcolor="white"><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_1a</div></td><td width="100%" bgcolor="#E3E3E3">is a typedef for lz77_buffer_kernel_1 that uses sliding_buffer_kernel_1</td></tr><tr><td valign="top"><div class="tdn">kernel_1a_c</div></td><td width="100%"> |
|
is a typedef for kernel_1a that checks its preconditions. |
|
</td></tr></table></div></blockquote><blockquote><a href="dlib/lz77_buffer/lz77_buffer_kernel_2.h.html">lz77_buffer_kernel_2</a>: |
|
<br> |
|
This object is implemented using the <a href="containers.html#sliding_buffer">sliding_buffer</a>. It |
|
finds matches by using a hash table. |
|
<div class="typedefs"><table CELLSPACING="0" CELLPADDING="0" bgcolor="white"><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_2a</div></td><td width="100%" bgcolor="#E3E3E3">is a typedef for lz77_buffer_kernel_2 that uses sliding_buffer_kernel_1</td></tr><tr><td valign="top"><div class="tdn">kernel_2a_c</div></td><td width="100%"> |
|
is a typedef for kernel_2a that checks its preconditions. |
|
</td></tr></table></div></blockquote></div><a name="lzp_buffer"></a><div class="component"><a href="#top"><font size="2"><center>[top]</center></font></a><h1 style="margin:0px;">lzp_buffer</h1><BR><BR> |
|
This object represents some variation on the LZP algorithm |
|
described by Charles Bloom in his paper "LZP: a new data |
|
compression algorithm" |
|
<BR><div class="include_file_more_details_wrapper"><a class="more_details" href="dlib/lzp_buffer/lzp_buffer_kernel_abstract.h.html">More Details...</a><div class="include_file">#include <dlib/lzp_buffer.h></div></div><BR><BR><B>Implementations:</B><blockquote><a href="dlib/lzp_buffer/lzp_buffer_kernel_1.h.html">lzp_buffer_kernel_1</a>: |
|
<br> |
|
This object is implemented using the <a href="containers.html#sliding_buffer">sliding_buffer</a> and uses |
|
an order-3 model to predict matches. |
|
<div class="typedefs"><table CELLSPACING="0" CELLPADDING="0" bgcolor="white"><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_1a</div></td><td width="100%" bgcolor="#E3E3E3">is a typedef for lzp_buffer_kernel_1 that uses sliding_buffer_kernel_1</td></tr><tr><td valign="top"><div class="tdn">kernel_1a_c</div></td><td width="100%"> |
|
is a typedef for kernel_1a that checks its preconditions. |
|
</td></tr></table></div></blockquote><blockquote><a href="dlib/lzp_buffer/lzp_buffer_kernel_2.h.html">lzp_buffer_kernel_2</a>: |
|
<br> |
|
This object is implemented using the <a href="containers.html#sliding_buffer">sliding_buffer</a> and uses |
|
an order-5-4-3 model to predict matches. |
|
<div class="typedefs"><table CELLSPACING="0" CELLPADDING="0" bgcolor="white"><tr><td bgcolor="#E3E3E3" valign="top"><div class="tdn">kernel_2a</div></td><td width="100%" bgcolor="#E3E3E3">is a typedef for lzp_buffer_kernel_2 that uses sliding_buffer_kernel_1</td></tr><tr><td valign="top"><div class="tdn">kernel_2a_c</div></td><td width="100%"> |
|
is a typedef for kernel_2a that checks its preconditions. |
|
</td></tr></table></div></blockquote></div></div></body></html> |
|
|