컴퓨터 지식 네트워크 - 컴퓨터 교육 - 허프만 디코딩의 원리는 무엇인가요?

허프만 디코딩의 원리는 무엇인가요?

허프만 코딩(Huffmancoding)은 기호열을 효과적으로 압축할 수 있는 코딩 방식이다. 허프만 트리(Huffman Tree)라는 데이터 구조를 기반으로 합니다.

허프만 트리는 이진 트리입니다. 각 리프 노드는 기호를 나타내며, 가중치는 기호 시퀀스에 기호가 나타날 확률입니다. 리프가 아닌 각 노드의 가중치는 왼쪽 및 오른쪽 자식 노드의 가중치의 합입니다. 허프만 트리를 만드는 방법은 모든 기호의 가중치를 정렬하고, 매번 가장 작은 가중치를 갖는 두 기호를 꺼내서 이 새 노드의 가중치가 두 노드의 합입니다. 포인트 가중치. 그런 다음 허프만 트리라는 하나의 노드만 남을 때까지 정렬 순서에 이 새 노드를 추가합니다.

허프만 코딩은 이 트리를 이용하여 코딩하는 과정이다. 각 심볼에 대해 루트 노드에서 리프 노드까지의 경로에 있는 각 노드의 왼쪽 및 오른쪽 아들은 이진 비트에 해당하고 왼쪽 아들은 0에 해당하며 오른쪽 아들은 1에 해당합니다. 인코딩은 이런 방식으로 얻은 이진 시퀀스입니다. 허프만 코딩의 기호 코드 길이가 다르며 기호가 나타날 확률이 높을수록 인코딩의 코드 길이가 짧아져 압축률이 높아진다는 것을 알 수 있습니다. 비율.

허프만 디코딩은 허프만 트리를 기반으로 한 이진 코드를 기반으로 해당 리프 노드를 찾고 원본 기호를 얻는 과정입니다.

간단히 말하면, 허프만 코딩은 부호화 과정에서 기호 발생 확률을 기준으로 기호를 부호화하므로 발생 확률이 높은 기호는 코딩 길이가 짧고, 발생 확률이 낮은 기호는 부호화 길이가 짧다. 코딩 길이가 길다. 이러한 방식으로 데이터 압축 목적을 달성할 수 있습니다. 허프만 디코딩은 허프만 트리를 기반으로 사전 인코딩 기호를 복원하는 것입니다.

上篇: Coats 앰프의 상위 모델 下篇: 창사 세계지창 티켓 가격 + 우대 정책 + 교통 정보
관련 내용