Context-Based Huffman Encoding: A compression algorithm based on Huffman encoding that takes local context into account when generating Huffman codes