Lý thuyết mã hóa cơ bản

Một phần của tài liệu tiểu luận xử lý ảnh số kỹ thuật nén ảnh (Trang 25)

Khuôn khổ toán học tổng thể giới thiệu trong phần 8.3.2 được dựa trên mô hình thể hiện trong hình. 8.7, trong đó có chứa nguồn thông tin, kênh, và người sử dụng. Trong phần này, chúng ta thêm một hệ thống thông tin liên lạc cho các mô hình và kiểm tra ba định lý cơ bản liên quan đến việc mã hóa hoặc biễu diễn thông tin. Như hình. 8,9 cho thấy, hệ thống thông tin liên lạc được chèn vào giữa nguồn thông tin và người sử dụng và bao gồm một bộ mã hóa và giải mã.

Định lý mã hóa không nhiễu

Khi cả hai kênh thông tin và hệ thống thông tin liên lạc không gây ra lỗi, chức năng chủ yếu của hệ thống thông tin liên lạc là thể hiện thông tin cho các nguồn càng gọn càng tốt. Trong hoàn cảnh này, các định lý mã hóa không có nhiễu, còn được gọi là định lý đầu tiên của Shannon (Shannon [1948]), xác định các độ dài trung bình tối thiểu của mã có thể đạt được để biểu diễn cho nguồn thông tin.

Một nguồn thông tin với số hữu hạn (A, z) và ký tự nguồn độc lập thống kê được gọi là một nguồn không nhớ. Nếu chúng ra mô tả đầu ra của nó là một bộ n kí hiệu từ các ký tự nguồn (tốt hơn là một ký tự đơn lẻ), ngõ ra của nguồn sẽ có n thành phần tạo thành A’={α1, α2,… αjn,}, nói cách khác, mỗi αi (được gọi là chuỗi biễn ngẫu nhiên) bao gồm n ký tự từ A.(cần phân biệt ký hiệu từ tập hợp A với chuỗi các ký tự từ A và chuỗi các ký tự từ các chuỗi đơn). Xác suất của một αi là P(αi),… liên quan đến ký hiệu riêng lẽ với xác suất P(aj) bằng công thức

Nơi các hệ số j1,j2… được sử dụng để đánh số n ký hiệu từ A mà lập thành αi. Như trước đây, các vector Z’ (được thêm vào để chỉ việc sử dụng khối các biến ngẫu nhiên) là tập tất cả các nguồn xác suất { P(α1), P(α2),…, P(αn)} và entropy của nguồn là:

Thay thế phương trình. (8.3-14) cho P (αi) và đơn giản hóa:

do đó entropy của nguồn thông tin không nhớ (trong đó chứa các khối biến ngẫu nhiên) bằng n lần entropy của nguồn ký tự riêng lẽ tương ứng. Một nguồn như vậy được gọi là phần mở rộng thứ n của các ký tự đơn hoặc nguồn không mở rộng. Lưu ý rằng phần mở rộng đầu tiên của bất cứ nguồn nào là nguồn không mở rộng bản thân nó.

Bởi vì thông tin ngõ ra của một nguồn αi là log[1/ P (αi)], có vẻ như là hợp lý khi mã hóa αi với một từ mã của các số nguyên có chiều dài l (αi) như vậy:

Trực giác cho thấy rằng các nguồn đầu ra αi được đại diện bởi một từ mã có chiều dài là số nguyên nhỏ hơn thông tin của αi. Nhân kết quả này với P(αi) và sau đó thu được kết quả:

Hay

Với L'avg đại diện cho độ dài từ trung bình của các mã tương ứng với phần mở rộng thứ n của các nguồn không mở rộng. Đó là:

Chia phương trình. (8.3-17) cho n và chú ý từ biểu thức. (8.3-15) là H(z ') / n bằng H(z).

Khi tìm giới hạn trở thành:

Phương trình (8.3-19) cho thấy định lý đầu tiên của Shanon dùng cho nguồn nhớ 0. Nó cho thấy rằng nó có thể làm cho L'avg/n gần tùy ý với H (z) bằng cách mã hóa các phần mở rộng của nguồn dài ra. Mặc dù có nguồn gốc theo giả định các ký tự của nguồn độc lập thống kê, kết quả có thể dễ dàng mở rộng cho các nguồn tổng quát hơn, nơi sự xuất hiện của một nguồn mà có ký tự có thể phụ thuộc vào một số hữu hạn các ký tự trước đó. Các loại nguồn này (gọi là các nguồn Markov) thường được sử dụng để mô hình mối tương quan xuyên điểm ảnh trong một hình ảnh. Hiệu suất có thể được định nghĩa bằng:

Định lý mã hóa có nhiễu

Nếu các kênh của hình 8.9 là chứa nhiễu hoặc dễ bị lỗi, việc thay đổi phương thức thể hiện cho thông tin là có thể giúp cho mã hóa nó để thông tin liên lạc trở nên đáng tin cậy là có thể. Một câu hỏi tự nhiên được đặt ra là có thể làm cho nhiễu nhỏ đi bao nhiêu?

Ví dụ 8.8: Suppose that a BSC has a probability of error Pe ~ 0.01, đó là 0.99 các kí tự

của nguồn được truyền đi chính xác trên kênh truyền. Một phương thức đơn giản để làm tăng độ tin cậy của thông tin là lặp lại mỗi gói tin hay các ký tự nhị phân nhiều lần. Giả sử, ví dụ, thay vì truyền một 0 hoặc 1, các thông điệp được mã hóa 000 và 111 được sử dụng. Xác suất để không xảy ra lỗi trong trường hợp truyền liên tiếp 3 ký tự trên kênh là (1-pe)3. Xác suất để cho 1 bit bị lỗi là 3pe(1-pe)2, và xác suất để cho 1 bit lỗi là 3p2

e(1-pe). Bởi vì xác suất để một bit bị lỗi trên đường truyển nhỏ hơn 50%, bản tin nhận được có thể được giải mã bằng các sử dụng ký tự nhiều hơn ở 3 ký tự nhận được. Nhưng xác suất của việc giải mã sai của từ mã dùng 3 ký tự là tổng của xác suất của hai ký tự bị lỗi và ba ký tự bị lỗi, hay là bằng . Nếu không có lỗi xảy ra hoặc một kí tự bị lỗi, sự bầu chọn sẽ giải mã bản tin một cách chính xác. Với pe= 0.01, xác suất của một lỗi được giảm xuống là 0.0003.

Bằng cách mở rộng các chương trình mã hóa lặp đi lặp lại vừa mô tả, chúng ta có thể làm cho các lỗi tổng thể trong thông tin liên lạc như nhỏ như mong muốn. Trong trường hợp tổng quát, chúng ta làm như vậy bằng cách mã hóa phần mở rộng thứ n của các nguồn sử dụng chuỗi K-ary có độ dài r, nơi Kr <=Jn. điều quan trọng của phương pháp này là lựa chọn φ của Kr chuỗi mã có thể là từ mã hợp lệ và đưa ra một quy tắc quyết định tối ưu hóa khả năng giải mã chính xác . Trong ví dụ trước, việc lặp lại mỗi biểu tượng nguồn ba lần là tương đương để mã hóa các nguồn nhị phân không mở rộng sử dụng hai trong số 23, hoặc 8, có thể từ mã nhị phân. Hai từ mã hợp lệ là 000 và 111. Nếu một từ mã không hợp lện được nhận ở bộ giả mã, sự bầu chọn giữa 3 bit sẽ cho kết quả đầu ra.

Một nguồn thông tin không bộ nhớ tạo ra thông tin trong dải (đơn vị thông tin cho mỗi ký hiệu) bằng entropy của nó. Phần mở rộng thứ n của các nguồn cung cấp thông tin với tốc độ của H (z ') trong đơn vị thông tin cho mỗi ký hiệu. Nếu các thông tin được mã hoá, như trong ví dụ trên, tỷ lệ tối đa của thông tin được mã hóa là log (φ/r) và xảy ra khi φ từ

mã hợp lệ được sử dụng để mã nguồn là như nhau. Do đó, một mã kích thước φ và khối chiều dài r được cho là có một tỷ lệ của đơn vị thông tin trên mỗi ký tự:

Định lý thứ hai của Shannon (Shannon [1948), cũng được gọi là định lý mã hóa chứa nhiễu, cho chúng ta biết cho bất kỳ R <C, trong đó C là dung lượng của kênh không bộ nhớ với ma trận Q, thì có tồn tại một số nguyên r, và mã hóa khối chiều dài r và tỷ lệ R sao cho xác suất của một giải mã lỗi khối nhỏ hơn hoặc bằng ε cho bất kỳ ε > 0. Do đó xác suất lỗi có thể được nhỏ tùy ý, miễn là tỉ lệ gói tin được mã hóa ít hơn so với dung lượng của kênh.

Định lý mã hóa nguồn

Các định lý được mô tả cho đến nay thiết lập giới hạn cơ bản về lỗi do truyền qua các kênh cả đáng tin cậy và không đáng tin cậy. Trong phần này, chúng tôi chuyển sang các trường hợp trong đó kênh là lỗi nhưng quá trình giao tiếp chính nó là mất dữ liệu. Trong hoàn cảnh này, các chức năng chính của hệ thống truyền dữ liệu là "nén thông tin." Trong hầu hết các trường hợp, sai số trung bình được nhận ra bằng cách tối đa mức cho phép D. Chúng ta muốn định tỷ lệ lỗi nhỏ nhất, đáp ứng được tiêu chí an toàn thông tin, mà thông tin của nguồn có thể được chuyển tải đến người sử dụng. Vấn đề này giải quyết bởi một chi nhánh của lý thuyết thông tin biết như lý thuyết biến dạng tỷ lệ.

Để cho các nguồn thông tin và kết quả đầu ra bộ giải mã trong hình. 8,9 được xác định bởi các cụm hữu hạn (A, z) và (B, z),một cách tương ứng.Giả định rằng các kênh của hình. 8,9 là không bị lỗi, do đó, một ma trận kênh Q, liên quan đến z với v theo phương trình. (8,3-6), có thể được coi như mô hình hóa các quá trình mã hóa-giải mã xử lý một mình. Bởi vì quá trình mã hóa-giải mã là xác định, Q mô tả một kênh không bộ nhớ nhân tạo mô hình hiệu quả của việc nén và giải nén thông tin. Mỗi lần các nguồn cho ra ký tự nguồn aj, nó được đại diện bởi một mã ký tự mà sau đó được giải mã để mang ra biểu tượng bk với xác suất qkj (xem Phần 8.3.2).

Giải quyết các vấn đề của mã hóa các nguồn để các biến dạng trung bình thấp hơn D đòi hỏi một quy tắc được xây dựng để chỉ định số lượng giá trị biến dạng để có thể lấy xấp xỉ ở đầu ra nguồn. Đối với trường hợp đơn giản của một nguồn không mở rộng, với hàm không âm p(ai, bk), được gọi là một biện pháp bóp méo, có thể được sử dụng để xác định các phương pháp liên quan đến tái tạo ra nguồn aj với bộ giải mã đầu ra bk. Đầu ra của nguồn là ngẫu nhiên , vì vậy sự biến dạng cũng là một biến ngẫu nhiên có giá trị trung bình, ký hiệu d(Q), được tính:

Các ký hiệu d (Q) nhấn mạnh rằng sự biến dạng trung bình là một hàm của các thủ tục mã hóa, giải mã, trong đó (như đã nêu ở trên) là mô hình của Q. Một thủ tục mã hóa-giải mã đặc biệt được gọi là D-chấp nhận được nếu và chỉ nếu biến dạng trung bình kết hợp với Q là nhỏ hơn hoặc bằng D , do đó:

Bởi vì mọi thủ tục mã hóa-giải mã được xác định bởi một kênh ma trận Q, thông tin trung bình thu được từ quan sát một đầu ra bộ giải mã duy nhất có thể được tính theo phương trình. (8.3-12). Do đó, chúng ta có thể định nghĩa một hàm biến dạng tỷ lệ (adsbygoogle = window.adsbygoogle || []).push({});

trong đó giả định giá trị nhỏ nhất của biểu thức (8,3-12) thông qua giá trị D. Lưu ý rằng mức tối thiểu có thể được thực hiện trên Q, bởi vì I(z, v) là một hàm của các xác suất trong vector z và các yếu tố trong ma trận Q. Nếu D = 0. R (D) là nhỏ hơn hoặc bằng với entropy của nguồn, hoặc R(0) <=H (z).

Phương trình (8,3-25) xác định tỷ lệ tối thiểu mà tại đó thông tin về các nguồn có thể được chuyển tải đến đối tượng người dùng với ràng buộc rằng sự biến dạng trung bình nhỏ hơn hoặc bằng D. Để tính toán tỷ lệ này [chính là R(D)]. chúng ta chỉ đơn giản là giảm thiểu I(z, v) [phương trình (8,3-12)] bởi sự lựa chọn thích hợp Q (hoặc qkj)

Phương trình (8.3-26) và (8.3-27) là tính chất cơ bản của ma trận kênh Q. Các thành phần của Q phải được dương và, bởi vì một số đầu ra phải được nhận cho bất kỳ ký tự được tạo ra ở đầu vào, các giá trị trong bất kỳ một cột của Q phải có tổng bằng 1. Phương trình (8.3-28) cho thấy tỷ lệ thông tin tối thiểu xảy ra khi biến dạng tối đa có thể được cho phép.

Ví dụ 8,9: Tính toán các hàm méo tỷ lệ cho một nguồn nhị phân không bộ nhớ.

Xét một nguồn nhị phân không bộ nhớ với các biểu tượng nguồn đều có thể xảy ra {0,1} và các biện pháp bóp méo đơn giản

Trong đó δjk là hàm đơn vị. Vì ρ(aj,bk) là 1 nếu aj khác bk và là 0với trường hợp khác, mỗi lỗi mã hóa-giải mã được tính là một đơn vị bị biến dạng. Tính toán của các biến có thể được sử dụng để tính toán R (D). Chúng ta hình thành các chức năng tăng cường:

đánh đồng các dẫn xuất JK của nó đối với qkj bằng 0 (có nghĩa là, dJ/d qkj] = 0) và giải các phương trình, cùng với J + 1 phương trình liên quan đến phương trình (8.3-27) và (8.3-28), cho ẩn số qkj và μ1, μ2, …, μj+1 ,kết quả tất nhiên là không âm [hay thoả mãn phương trình. (8,3-26)], là một kết quả hợp lệ. Đối với nguồn và đôi biến dạng định nghĩa ở trên, chúng tôi nhận được 7 phương trình sau đây (với 7 biến chưa biết):

Một loạt biến đổi đơn giản cho kết quả:

Do đó

Nó được cho rằng những biểu tượng nguồn cso xác suất xảy ra là như nhau ,vì vậy sự biến dạng tối đa có thể là l / 2. Do đó 0 <= D <= l / 2 và các yếu tố của Q đáp ứng

phương trình. (8,3-12) cho tất cả D. Các thông tin liên quan đến Q và các nguồn nhị phân được định nghĩa trước được tính toán bằng cách sử dụng phương trình. (8,3-12). Chú ý sự giống nhau giữa Q và các kênh nhị phân ma trận đối xứng, tuy nhiên, chúng ta có thể ngay lập tức ghi

Kết quả này từ ví dụ 8.6 Ví dụ bằng cách thay thế pbs = l / 2 và pe = D vào

,hàm bóp méo tỷ lệ dựa vào biểu thức (8.3- 25):

Việc đơn giản hóa cuối cùng được dựa trên thực tế rằng, đối với một D nhất định, 1 – Hbs(D) giả định một giá trị duy nhất, trong đó, theo mặc định, là tối thiểu. hàm kết quả được vẽ trong hình. 8.10. Hình dạng của nó là điển hình của hầu hết các hàm bóp méo tỷ lệ. Lưu ý giá trị tối đa củaD, ký hiệu Dmax như vậy mà R (D) = 0 cho tất cả các D> Dmax. Ngoài ra, R(D) luôn luôn là dương, đơn điệu giảm, và lồi trong khoảng (0, Dmax).

Chức năng bóp méo tỷ lệ có thể được tính toán phân tích các nguồn đơn giản và các biện pháp bóp méo, như trong ví dụ trước. Hơn nữa, hội tụ lặp đi lặp lại thuật toán phù hợp để thực hiện trên máy tính kỹ thuật số có thể được sử dụng khi các phương pháp phân tích thất bại hoặc là không thực tế. Sau khi R (D) được tính toán (cho bất kỳ nguồn không nhớ nào và méo đơn ký tự ),định lý mã hóa nguồn cho chúng ta biết rằng, đối với bất kỳ ε> 0, tồn tại một r, và mã hóa của khối chiều dài r và tỷ lệ R <R {D) + ε, sao cho mỗi thư trung bình biến dạng đáp ứng các điều kiện d (Q) <D+ ε. Một hệ quả thực tế quan trọng của định lý này và định lý mã hóa có nhiễu là đầu ra nguồn có thể được phục hồi đến đầu vào bộ giải mã với một xác suất nhỏ tùy ý, với điều kiện là kênh có dung lượng C> R (D) + ε. Kết quả sau này được gọi là định lý truyền tải thông tin.

Định lý sử dụng thông tin

Lý thuyết thông tin cung cấp những công cụ cơ bản cần thiết để xử lý việc biểu diễn thông tin và thao tác trực tiếp. Trong phần này, chúng ta khám phá những ứng dụng của

các công cụ này để giải quyết các vấn đề cụ thể của nén hình ảnh. Bởi vì các tiền đề cơ bản của lý thuyết thông tin là các nguồn thông tin có thể được mô hình hóa như một quá trình xử lý ngẫu nhiên, chúng ta đầu tiên phát triển một mô hình thống kê của quá trình tạo hình ảnh.

Ví duj8.10: Mô tả những vấn đề của tối ưu thông tin (entropy) của bức ảnh 8bit đơn giản:

Một phương pháp tương đối đơn giản là giả định một mô hình nguồn cụ thể và tính toán entropy của hình ảnh dựa trên mô hình . Ví dụ , chúng ta có thể giả sử rằng hình ảnh được tạo ra bởi một nguồn mức xám 8bit mà liên tục phát ra pixel độc lập thống kê theo một đạo luật xác suất được xác định trước. Trong trường hợp này , các biểu tượng nguồn là mức độ màu xám , và bảng chữ cái nguồn bao gồm 256 ký tự. Nếu xác suất của các ký tự được biết trước, trung bình nội dung thông tin bằng cách sử dụng phương trình ( 8,3-3) . trong trường hợp của một xác suất thống nhất, ví dụ , xác suất các biểu tượng nguồn như nhau có thể xảy ra , và các nguồn được đặc trưng bởi entropy của 8 bit / pixel . Đó là,

Một phần của tài liệu tiểu luận xử lý ảnh số kỹ thuật nén ảnh (Trang 25)