9 Gợn sóng và đốm sáng Phép biến đổi Fourier
Phương trình này cho ta biết điều gì?
Bất kỳ hình mẫu dao động nào trong không gian và thời gian đều có thể xem là chồng chất của các hình mẫu dạng sin với các tần số khác nhau.
Tại sao nó lại quan trọng?Các thành phần tần số có thể được sử dụng để phân tích các hình mẫu, tạo nên các hình mẫu để tìm các đặc điểm quan trọng và bỏ đi các ồn nhiễu ngẫu nhiên.
Nó đã dẫn tới những gì?Kỹ thuật của Fourier được sử dụng rất rộng rãi, chẳng hạn, trong xử lý ảnh và cơ học lượng tử. Nó được sử dụng để tìm kiếm cấu trúc của các phân tử sinh học lớn như ADN, để nén dữ liệu ảnh trong các bức ảnh kỹ thuật số, để làm sạch các bản thu âm cũ kỹ hoặc bị hư hỏng, và còn để phân tích các trận động đất nữa. Các biến thể hiện đại được sử dụng để lưu trữ dữ liệu về dấu vân tay hiệu quả hơn và để cải thiện các phép chụp chiếu trong y tế.
Cuốn Những nguyên lý của Newton đã mở ra cánh cửa cho những nghiên cứu toán học về tự nhiên, nhưng những người đồng hương của ông đã quá bận tâm tới cuộc tranh luận về chuyện ai là người được hưởng quyền sở hữu trí tuệ của phép tính vi tích phân để có thể tìm ra những thứ nằm bên ngoài nó. Trong khi những bộ óc tinh tế nhất của nước Anh đang sôi sùng sục lên với thứ mà họ đã biết là những luận điệu đáng hổ thẹn về nhà toán học vĩ đại nhất còn đang sống của đất nước - hầu hết trong số đó có lẽ cũng là lỗi lầm của chính Newton, bởi ông nghe theo những người bạn có thiện chí nhưng kém hiểu biết - thì những đồng nghiệp ở châu lục đã mở rộng những ý tưởng của Newton về các định luật của tự nhiên tới hầu hết các ngành trong khoa học vật lý. Phương trình sóng xuất hiện và nhanh chóng theo sau là các phương trình tương tự về hấp dẫn, tĩnh điện, đàn hồi và dòng nhiệt. Một số mang tên của những người khám phá ra chúng, như phương trình Laplace, phương trình Poisson. Nhưng phương trình cho nhiệt thì không; nó mang một cái tên rất nôm na và không hoàn toàn chính xác: “phương trình nhiệt”. Phương trình này do Joseph Fourier đề xuất, và những ý tưởng của ông đã dẫn tới việc sản sinh ra một lĩnh vực mới của toán học mà những phân nhánh của nó đã tỏa rộng ra rất nhiều so với ban đầu. Những ý tưởng này có lẽ đã được khởi phát từ phương trình sóng, nơi mà những phương pháp tương tự đã thấp thoáng xuất hiện trong ý thức tập thể của cộng đồng toán học, nhưng lịch sử chọn nhiệt.
Phương pháp mới đã có một khởi đầu đầy hứa hẹn: năm 1807, Fourier đã gửi một bài báo về dòng nhiệt cho Viện Hàn lâm Khoa học Pháp, dựa trên một phương trình đạo hàm riêng mới. Mặc dù, cơ quan đầy uy tín này từ chối cho đăng công trình đó, nhưng nó đã thúc đẩy Fourier phát triển xa hơn ý tưởng của mình và thử lại một lần nữa. Vào thời đó, Viện Hàn lâm hằng năm có giải thưởng cho những nghiên cứu về bất kỳ chủ đề nào mà họ cho là đủ thú vị, và họ chọn chủ đề về nhiệt cho giải thưởng năm 1812. Fourier đệ trình đúng lúc công trình đã chỉnh sửa và mở rộng của mình và đã giành được giải thưởng. Phương trình truyền nhiệt của ông có dạng:
trong đó u ( x , t ) là nhiệt độ tại vị trí x của một thanh kim loại tại thòi điểm t , với giả thiết rằng thanh này là vô cùng mảnh, và ? là một hằng số gọi là hệ số khuếch tán nhiệt , do vậy lẽ ra nên gọi nó là phương trình nhiệt độ. Ông cũng phát triển một phiên bản có số chiều cao hơn:
đúng cho bất kỳ miền xác định nào cho trước trong mặt phẳng hoặc không gian.
Phương trình truyền nhiệt giống phương trình sóng một cách kỳ lạ, chỉ có một khác biệt quan trọng. Phương trình sóng sử dụng đạo hàm cấp hai theo thời gian: ? 2 u / ? t 2 , nhưng trong phương trình truyền nhiệt nó được thay thế bởi đạo hàm cấp một ? u / ? t . Đây dường như chỉ là một sự thay đổi nhỏ, nhưng ý nghĩa vật lý thì lại rất lớn lao. Nhiệt không duy trì vô hạn định, như một dây đàn violin có thể dao động mãi mãi (theo phương trình sóng, không có ma sát hay dao động tắt dần). Thay vì thế, nhiệt tiêu tán, mất dần theo thời gian, trừ phi có nguồn nhiệt nào đó liên tục bổ sung cho nó. Như vậy, bài toán điển hình ở đây là: đốt nóng một đầu của thanh kim loại để giữ nó ở một nhiệt độ ổn định và làm lạnh đầu kia một cách tương tự để xem nhiệt độ biến thiên dọc theo thanh sẽ như thế nào khi nó được đặt trong trạng thái dừng. Câu trả lời là nhiệt sẽ giảm dần theo hàm mũ. Một bài toán điển hình khác, đó là chỉ định profin (profile) nhiệt độ ban đầu dọc theo thanh và xem nó biến thiên thế nào theo thời gian. Có lẽ nên để cho một nửa thanh ban đầu ở nhiệt độ cao và nửa kia ở nhiệt độ thấp hơn; phương trình sẽ cho ta thấy nhiệt truyền thế nào từ phần nóng hơn sang phần lạnh hơn.
Có lẽ khía cạnh hấp dẫn nhất trong bài báo giành giải thưởng của Fourier không phải là phương trình, mà là cách ông giải nó. Nếu profin nhiệt độ ban đầu là hàm lượng giác, chẳng hạn sin x , thì việc giải phương trình này khá dễ dàng (đối với những người đã có kinh nghiệm), và đáp số là e - α t sin x . Nó giống với mode cơ bản của phương trình sóng, nhưng ở phương trình sóng nghiệm là sin c t sin x . Dao động vĩnh cửu của dây đàn violin tương ứng với thành phần sin c t , ở đây đã được thay thế bằng hàm mũ với số mũ âm - α t cho chúng ta thấy rằng toàn bộ profin nhiệt độ giảm dần trên thanh theo cùng một tốc độ (Sự khác biệt về mặt vật lý ở đây là sóng bảo toàn năng lượng nhưng dòng nhiệt thì không). Tương tự, với profin sin5 x , nghiệm là e -25 a t sin5 x , cũng tắt dần, nhưng nhanh hơn nhiều. 25 là 5 2 , và đây là ví dụ về một hình mẫu tổng quát, áp dụng được cho các profin ban đầu có dạng sin n x hay cos n x 1 . Để giải phương trình truyền nhiệt, ta chỉ cần nhân với e -n 2 α t .
Bây giờ câu chuyện cũng đi theo cùng nguyên tắc chung như phương trình sóng. Phương trình truyền nhiệt là tuyến tính, do vậy chúng ta có thể chồng chất các nghiệm. Nếu profin ban đầu là
u ( x ,0) = sin x + sin5 x
thì nghiệm sẽ là
u ( x , t ) = e - α t sin x + e -25 α t sin5 x
và ở mỗi mode nghiệm này sẽ tắt dần với tốc độ khác nhau. Nhưng các profin ban đầu như thế này có vẻ hơi giả tạo. Để giải bài toán mà tôi đã nhắc đến lúc trước, chúng ta cần một profin ban đầu thỏa mãn u ( x , 0) = 1 ở nửa thanh, nhưng bằng -1 ở nửa thanh còn lại. Profin này không liên tục, mà có dạng vuông góc theo thuật ngữ thường dùng trong kỹ thuật. Nhưng các đường hình sin và cos lại liên tục, cho nên không sự chồng chất nào của các hàm sin và cos có thể biểu diễn một sóng vuông góc như thế.
Không có chồng chất hữu hạn nào, đó là điều chắc chắn. Nhưng, lại một lần nữa, điều gì sẽ xảy ra nếu chúng ta cho phép một tổ hợp có vô hạn các số hạng? Khi đó chúng ta có thể thử biểu diễn profin ban đầu như là một chuỗi vô hạn có dạng
u ( x ,0) = a 0 + a 1 cos x + a 2 cos2 x + a 3 cos3 x +... +b 1 sin x + b 2 sin2 x + b 3 sin3 x +...
với các hằng số a 0 , a 1 , a 2 , a 3 ,...,b 1 , b 2 , b 3 ... phù hợp (không có b 0 vì sin 0 x = 0.) Bây giờ, dường như chúng ta có thể thu được một sóng vuông góc (xem hình 40). Thực ra, hầu hết các hệ số có thể cho bằng 0. Chỉ riêng các b n với n lẻ là cần thiết và khi đó b n = 8 / n ? .
Hình 40 Cách nhận được sóng vuông góc từ các hàm sin và cos. Trái :Các sóng thành phần hình sin. Phải : Tổng của chúng là một sóng vuông góc. Ở đây chúng tôi chỉ vẽ một ít số hạng của chuỗi Fourier. Các số phụ thêm sẽ làm cho sự xấp xỉ trở nên tốt hơn.
Thậm chí Fourier còn có các công thức tổng quát cho các hệ số a n và b n đối với một hàm profin f ( x ) cho trước theo các tích phân:
Sau một hành trình dài vất vả qua các khai triển chuỗi lũy thừa của các hàm lượng giác, ông đã nhận ra rằng có một cách đơn giản hơn rất nhiều để rút ra các công thức như thế. Nếu bạn lấy hai hàm lượng giác khác nhau, ví dụ cos 2 x và sin 5 x , nhân chúng với nhau và lấy tích phân từ 0 đến 2?, kết quả bạn nhận được là 0. Thậm chí là cả với cos 5 x và sin 5 x cũng thế. Nhưng nếu chúng giống nhau, cả hai đều là sin 5 x chẳng hạn, thì tích phân tích của chúng lại không bằng 0 mà là ?. Nếu bạn bắt đầu bằng cách giả sử rằng f ( x ) là tổng của một chuỗi lượng giác, khi nhân tất cả với sin 5 x và lấy tích phân, thì tất cả các thành phần trong tổng đều biến mất, ngoại trừ thành phần có chứa sin 5 x , tức là b 5 sin5 x . Kết quả phép lấy tích phân trong trường hợp này là ?. Chia cho ?, bạn sẽ nhận được công thức Fourier cho b 5 . Làm tương tự bạn sẽ thu được tất cả các hệ số còn lại.
Mặc dù giành được giải thưởng của Viện Hàn lâm, nhưng công trình của Fourier đã bị chỉ trích một cách thẳng thắn vì không đủ chặt chẽ, và Viện Hàn lâm đã từ chối xuất bản. Điều này là rất không bình thường và nó đã làm Fourier phát cáu, nhưng Viện Hàn lâm vẫn giữ ý kiến của họ. Fourier đã bị chọc tức. Trực giác vật lý mách bảo ông rằng ông đã đúng, và nếu bạn đặt chuỗi của ông vào phương trình, thì rõ ràng nó là một nghiệm. Thế nghĩa là ổn rồi . Vấn đề thực sự ở đây là ông đã vô tình gợi lại một vết thương cũ. Như chúng ta đã thấy ở Chương 8, Euler và Bernoulli đã tranh luận trong nhiều năm ròng về một vấn đề tương tự cho phương trình sóng, mà ở đó sự tiêu tán với thời gian theo hàm mũ của Fourier được thay bằng một dao động vô tận có dạng hình sin trong biên độ của sóng. Các vấn đề toán học ẩn sau chuyện này thì như nhau. Thực tế, Euler đã công bố các công thức dưới dạng tích phân cho các hệ số ở trường hợp phương trình sóng.
Tuy nhiên, Euler chưa bao giờ khẳng định công thức này cũng áp dụng được cho các hàm số f ( x ) không liên tục, điều gây tranh cãi nhất trong công trình của Fourier. Mô hình dây đàn violin dù sao cũng không bao hàm điều kiện ban đầu không liên tục - những điều kiện như vậy chỉ phù hợp với một dây đàn bị đứt, mà dây như thế thì sẽ không bao giờ dao động cả. Nhưng với trường hợp về nhiệt, giữ một phần của thanh kim loại ở một nhiệt độ và phần kề đó ở một nhiệt độ khác cũng là chuyện tự nhiên thôi. Trong thực tế, việc chuyển trạng thái là trơn nhưng rất dốc, tuy nhiên một mô hình không liên tục là hợp lý và thuận tiện hơn cho tính toán. Sự thật là, nghiệm của phương trình truyền nhiệt giải thích được tại sao việc chuyển trạng thái lại rất nhanh chóng trở nên trơn và rất dốc, khi nhiệt khuếch tán sang hai bên. Như vậy, vấn đề mà Euler không nhất thiết phải bận tâm đã trở thành không thể lờ đi được, và Fourier phải hứng chịu hệ quả tồi tệ đó.
Các nhà toán học bắt đầu nhận ra rằng các chuỗi vô hạn là những con quái vật nguy hiểm. Chúng không hành xử như các tổng hữu hạn ngoan ngoãn. Cuối cùng thì các mó rối rắm lộn xộn này cũng được giải quyết, nhưng cần phải có cái nhìn mới về toán học và phải mất một trăm năm vật lộn vất vả để làm điều đó. Ở thòi Fourier, mọi người đều nghĩ rằng họ đã biết về tích phân, các hàm số và các chuỗi vô hạn, nhưng trong thực tế thì còn khá mơ hồ: “Tôi biết nó khi tôi thấy nó”. Do vậy khi Fourier đệ trình bài báo mở ra kỷ nguyên mới của mình, có nhiều lý do thích đáng để những quan chức của Viện Hàn lâm thấy phải thận trọng. Và họ đã không nhượng bộ, vì thế năm 1822, Fourier lờ đi sự phản đối của họ và đã cho công bố công trình của mình dưới dạng một cuốn sách nhan đề Lý thuyết giải tích của nhiệt (Théorie analytique de la chaleur) . Năm 1824, ông được bổ nhiệm làm thư ký của Viện Hàn lâm, không thèm đếm xỉa đến những chỉ trích, ông đã cho công bố bài báo gốc năm 1811 của mình trên tạp chí đầy uy tín của Viện Hàn lâm mà không hề thay đổi nó.
Bây giờ chúng ta đều biết rằng mặc dù Fourier về mặt tinh thần là đúng, nhưng những người chỉ trích ông có lý do để lo ngại về tính chặt chẽ. Những vấn đề đó rất tinh tế và đáp án của chúng cũng rất xa với trực giác. Giải tích Fourier, như cách gọi của chúng ta bây giờ, vận hành rất trơn tru, nhưng nó có những chiều sâu ẩn giấu mà Fourier đã không ý thức được.
Câu hỏi dường như được đặt ra là: khi nào thì chuỗi Fourier hội tụ về hàm số mà nó biểu diễn? Tức là, nếu bạn thêm vào nhiều số hạng nữa, thì sự xấp xỉ của chuỗi tới hàm có tốt hơn không? Ngay cả Fourier cũng biết rằng câu trả lời không phải là “luôn luôn”, mà dường như là “thường như thế, nhưng có thể có vấn đề ở những điểm gián đoạn”. Chẳng hạn, ở điểm giữa của nó, điểm mà nhiệt độ thay đổi đột ngột, chuỗi Fourier của sóng vuông góc hội tụ, nhưng về một con số sai. Tổng của chuỗi là 0, nhưng sóng vuông góc lại nhận giá trị 1.
Đối với hầu hết các mục đích vật lý, việc thay đổi giá trị của một hàm ở một điểm cô lập nào đó không phải là vấn đề lớn. Sóng vuông góc, nếu có thay đổi như vậy, thì trông vẫn là vuông góc. Đây thực ra chỉ là một thay đổi nhỏ ở điểm gián đoạn. với Fourier, đây không phải là vấn đề lớn. Ông đã mô hình hóa sự truyền nhiệt, và ông không quan tâm tới việc mô hình này là nhân tạo hay cần các thay đổi mang tính kỹ thuật, miễn là không có ảnh hưởng lớn tới kết quả cuối cùng. Nhưng không thể dễ dàng bỏ qua vấn đề hội tụ được, bởi vì các hàm số khác có thể có những điểm gián đoạn phức tạp hơn sóng vuông góc rất nhiều.
Tuy nhiên, Fourier đã tuyên bố rằng phương pháp của ông có thể xử lý bất kỳ hàm nào, như vậy nó cũng phải dùng được ngay cả đối với các hàm như f ( x ) = 0 khi x hữu tỉ và bằng 1 khi x vô tỉ. Đây là một hàm gián đoạn ở mọi điểm. Đối với những hàm như thế, vào thời đó, người ta thậm chí còn chưa biết tích phân là gì . Và hóa ra đó lại chính là nguyên nhân thực sự gây tranh cãi. Không ai định nghĩa tích phân là gì cả, không chỉ riêng cho những hàm như thế. Tồi tệ hơn nữa, còn chưa từng có ai định nghĩa một hàm số là gì. Và thậm chí nếu bạn có thể sửa chữa được hết những thiếu sót này, thì vấn đề ở đây không còn chỉ là chuỗi Fourier có hội tụ hay không. Khó khăn thực sự đó là tìm hiểu xem nó hội tụ theo nghĩa nào .
Giải quyết những vấn đề này thực ra rất phức tạp. Nó đòi hỏi phải có một lý thuyết mới về tích phân - đã được Henri
Lebesgue cung cấp - một sự phát biểu lại các cơ sở của toán học theo lý thuyết tập hợp, bắt đầu bởi George Cantor và vô tình lại tạo ra những vấn đề rất khó khăn hoàn toàn mới, những hiểu biết sâu sắc từ những nhà toán học đỉnh cao như Riemann, và một tá những trừu tượng hóa để giải quyết vấn đề hội tụ. Lời phán quyết cuối cùng, với sự giải thích đúng đắn là: những ý tưởng của Fourier có thể được sửa chữa để trở nên chặt chẽ. Nó đã tìm ra một lớp các hàm rất rộng, tuy không phổ quát. Việc chuỗi có hội tụ về hàm f ( x ) với mọi giá trị của x hay không, không phải là một câu hỏi đúng, mọi thứ sẽ ổn với điều kiện những giá trị ngoại lệ của x mà tại đó chuỗi không hội tụ là đủ hiếm, theo một nghĩa rõ ràng nhưng hơi kỹ thuật một chút. Nếu hàm số là liên tục, chuỗi sẽ hội tụ với mọi x . Ở chỗ có bước nhảy không liên tục, như từ -1 đến 1 ở sóng vuông góc chẳng hạn, chuỗi số hội tụ đều về giá trị trung bình của những giá trị ngay bên cạnh bước nhảy. Nhưng chuỗi số luôn hội tụ về hàm số với giải thích đúng đắn về khái niệm “hội tụ”. Nó hội tụ theo nghĩa toàn thể, chứ không phải theo từng điểm một. Phát biểu điều này một cách chặt chẽ phụ thuộc vào việc tìm ra cách đo đúng đắn sự khác nhau giữa hai hàm số. với tất cả những điều trên được chỉnh sửa đâu vào đó, chuỗi Fourier thực sự sẽ giải được phương trình truyền nhiệt. Nhưng tầm quan trọng thực sự của nó còn rộng lớn hơn rất nhiều, và lợi ích chính nằm ngoài toán học thuần túy không phải là vật lý của sự truyền nhiệt, mà là kỹ thuật. Đặc biệt là kỹ thuật điện tử.
Dưới dạng tổng quát nhất, phương pháp Fourier biểu diễn một tín hiệu, được xác định bởi một hàm f , như là một tổ hợp của các sóng ở mọi tần số khả dĩ. Đó được gọi là ảnh Fourier của sóng. Nó thay tín hiệu ban đầu bằng phổ của tín hiệu đó: một danh sách các biên độ và tần số cho các thành phần sin và cos, mã hóa cùng một thông tin theo một cách khác - nói theo các kỹ sư thì đây là sự chuyển từ miền thời gian sang miền tần số. Khi dữ liệu được biểu diễn theo các cách khác nhau, thì các thao tác là khó hoặc không thể thực hiện trong một biểu diễn này lại có thể dễ dàng trong biểu diễn khác. Chẳng hạn, bạn có thể bắt đầu với một cuộc nói chuyện điện thoại, lập ảnh Fourier của nó, và loại bỏ đi các phần của tín hiệu mà các thành phần Fourier của nó có tần số quá cao hoặc quá thấp mà tai người không thể nghe được. Điều này giúp chúng ta có thể truyền thêm nhiều cuộc nói chuyện trên cùng các kênh truyền thông, và đó là lý do cưóc phí điện thoại ngày nay, nói một cách tương đối, là rẻ. Chúng ta không thể làm được như vậy trên tín hiệu gốc chưa được biến đổi, bởi vì nó không có “tần số” như một đặc trưng hiển nhiên. Bạn không biết phải loại bỏ thứ gì.
Một ứng dụng khác của kỹ thuật này đó là thiết kế các cao ốc có khả năng trụ được trước các trận động đất. Ảnh Fourier của dao động do một trận động đất điển hình gây ra đã phát lộ các tần số mà ở đó năng lượng do sự rung lắc của mặt đất truyền cho là lớn nhất. Một tòa nhà cũng có mode dao động tự nhiên riêng của mình, và nó có thể cộng hưởng với động đất, tức là sẽ phản ứng lại mạnh mẽ một cách bất thường. Do vậy bước đi hợp lý đầu tiên trong việc chống động đất cho một tòa nhà là đảm bảo rằng các tần số dao động của tòa nhà khác biệt với tần số của động đất. Mà tần số của động đất thì có thể thu được nhờ quan sát; còn tần số của tòa nhà thì có thể tính toán được từ một mô hình trên máy tính.
Đây chỉ là một trong rất nhiều cách thức ẩn giấu mà phép biến đổi Fourier có ảnh hưởng tới cuộc sống của chúng ta. Những người làm việc ở các tòa nhà cao tầng nằm trong vùng động đất không cần phải biết tính ảnh Fourier như thế nào, nhưng cơ hội sống sót của họ được cải thiện đáng kể nhờ tính toán của những người khác. Phép biến đổi Fourier đã trở thành một công cụ được dùng thường ngày trong khoa học và kỹ thuật, ứng dụng của nó bao gồm việc loại bỏ những ồn nhiễu từ những bản ghi âm cũ kỹ, như tiếng sột soạt gây ra bởi những vết xưóc trên các đĩa hát, tìm ra cấu trúc của những phân tử hóa sinh lớn, như ADN, nhờ sử dụng phương pháp nhiễu xạ tia X, cải thiện khả năng thu sóng radio, làm rõ các bức ảnh chụp từ trên không, cải thiện hệ thống phát hiện tàu ngầm gắn trong các tàu ngầm, và ngăn chặn các dao động không mong đợi trong ôtô ngay từ khi thiết kế. Ở đây, tôi sẽ chỉ tập trung vào một trong hàng nghìn ứng dụng hằng ngày của phép biến đổi Fourier tuyệt vời, ứng dụng mà hầu hết chúng ta sử dụng nhưng không hay biết trong các kỳ nghỉ: chụp ảnh kỹ thuật số.
Trong một chuyến đi gần đây tới Campuchia, tôi đã dùng máy ảnh kỹ thuật số chụp gần 1400 bức ảnh, tất cả được chứa trong một thẻ nhớ dung lượng 2GB, còn chỗ cho khoảng 400 bức nữa. Tôi không chụp với độ phân giải đặc biệt cao, do vậy mỗi file ảnh có dung lượng khoảng 1,1 MB. Nhưng các bức ảnh vẫn đầy đủ màu sắc, và ảnh không hề bị vỡ trên màn hình máy tính 27 inch, do vậy người ta không hề nhận thấy sự thiếu chất lượng của tấm ảnh. Bằng cách nào đó, máy ảnh của tôi định ghi lên thẻ nhớ 2GB số lượng dữ liệu gấp 10 lần dung lượng mà nó có thể chứa được, giống như trút một lít sữa vào một cái chén uống trà. Nhưng nó vẫn ghi hết được đấy. Câu hỏi ở đây là: nó đã ghi như thế nào?
Câu trả lời là sự nén dữ liệu. Thông tin xác định bức ảnh được xử lý để giảm thiểu dung lượng của nó. Một số trong quá trình xử lý đó là “không có mất mát”, có nghĩa là thông tin thô ban đầu, nếu cần thiết, có thể truy xuất từ phiên bản nén. Việc này hoàn toàn có thể bởi vì hầu hết các bức ảnh thực đều chứa các thông tin dư thừa. Chẳng hạn, các mảng lớn của bầu trời hầu như có cùng mức màu xanh. Thay vì lặp đi lặp lại các thông tin về màu và độ sáng cho một điểm ảnh màu xanh lam, bạn có thể lưu trữ tọa độ hai góc đối nhau của hình chữ nhật và một đoạn mã ngắn với thông tin đi kèm: “màu của cả vùng này là lam”. Dĩ nhiên chế độ lưu trữ của máy ảnh không hoàn toàn như vậy, nhưng điều này cho thấy tại sao việc nén dữ liệu “không mất mát” đôi khi vẫn có thể. Khi không làm được như thế, cách nén “có mất mát” cũng thường chấp nhận được. Đôi mắt của chúng ta không quá nhạy đối với một số đặc điểm của ảnh, và những đặc điểm này có thể được ghi lại ở một mức thô hơn mà hầu hết chúng ta không để ý thấy, đặc biệt nếu chúng ta không có bức ảnh nguyên thủy để so sánh. Việc nén thông tin theo cách này cũng như đánh trứng vậy: rất dễ làm theo một chiều, và hoàn thành công việc, nhưng không thể đảo ngược lại quá trình đó. Những thông tin không thiết yếu bị mất, thành ra phải bắt đầu từ những thông tin còn lại, căn cứ vào cách thức hoạt động của mắt người.
Máy ảnh của tôi, cũng giống như hầu hết các máy ảnh chạm-và-nhấn khác, lưu trữ ảnh thành các file với nhãn có dạng P1020339.JPG. Đuôi của file có liên quan đến JPEG, viết tắt của The Joint Photographic Experts Group (Cộng đồng các chuyên gia nhiếp ảnh) và nó chỉ ra một cách nén dữ liệu cụ thể đã được sử dụng. Phần mềm sử dụng cho chỉnh sửa và in ấn ảnh, như là Photoshop hoặc iPhoto, đã được viết sao cho chúng có thể giải mã được định dạng JPEG và chuyển dữ liệu ngược trở lại thành bức ảnh. Hàng triệu người trong số chúng ta thường xuyên sử dụng các file JPEG, nhưng chỉ có ít người biết rằng các file đó đã bị nén, và một ít người hơn nữa vẫn thắc mắc không hiểu chúng bị nén như thế nào. Đây không phải là một lời chỉ trích: bạn có thể sử dụng mà không cần phải biết chúng bị nén như thế nào, mà đấy là vấn đề. Máy ảnh và các phần mềm đã xử lý tất cả thay bạn. Nhưng sẽ có ý nghĩa hơn nếu ta biết sơ qua phần mềm đã làm gì và làm như thế nào, cốt để khám phá xem một số trong đó đã được lập trình khéo léo ra sao. Bạn có thể bỏ qua các chi tiết ở đây nếu bạn muốn: tôi chỉ muốn bạn đánh giá đúng toán học đã để lại dấu ấn nhiều như thế nào trong mỗi bức ảnh của bạn trong thẻ nhớ, còn chính xác toán học đã làm gì thì không quan trọng bằng.
Định dạng JPEG 2 tổ hợp năm bước nén khác nhau. bước đầu tiên là biến đổi thông tin về màu sắc và độ sáng, bắt đầu với cường độ của ba màu đỏ, lục và lam, thành ba đại lượng toán học tương đương phù hợp hơn với cách nhận biết ảnh của não người. Một đại lượng (độ chói) biểu thị độ sáng trung bình - cái mà bạn sẽ thấy với phiên bản “đen trắng” của chính bức ảnh đó. Hai đại lượng còn lại (độ màu) là độ sai khác giữa ánh sáng nói trên và các ánh sáng đỏ và lục tương ứng.
Tiếp đó, dữ liệu độ màu được thô hóa: được quy giản về một khoảng giá trị số nhỏ hơn. Chỉ mình bước này thôi đã làm giảm đi một nửa lượng dữ liệu. Nó không gây ra những phương hại có thể cảm nhận được bởi vì hệ thống thị giác của con người kém nhạy hơn rất nhiều đối với những khác biệt về màu sắc so với máy ảnh.
Bước thứ ba sử dụng một biến thể của phép biến đổi Fourier. Nó không làm việc với một tín hiệu thay đổi theo thời gian mà là với một hình mẫu trong không gian hai chiều. Nhưng toán học trong hai trường hợp này thực sự là như nhau. Không gian liên quan là một khối con 8×8 các điểm ảnh (pixel) từ bức ảnh. Để đơn giản, bạn có thể coi nó như thành phần của độ sáng: cùng ý tưởng như thế, bạn cũng có thể áp dụng cho thông tin về màu sắc. Chúng ta bắt đầu với một khối gồm 64 điểm ảnh, và với mỗi một điểm ảnh này, chúng ta cần lưu một con số, đó là độ sáng của điểm ảnh đó. Phép biến đổi cos rời rạc, một trường hợp đặc biệt của phép biến đổi Fourier, phân tách bức ảnh thành chồng chất của các bức ảnh “kẻ sọc” chuẩn. Một nửa các ảnh đó có các kẻ sọc nằm ngang, và nửa còn lại theo phương thẳng đứng. Chúng được đặt cách nhau với các khoảng khác nhau, giống như các họa ba trong phép biến đổi Fourier thông thường và các giá trị mức đen trắng của chúng là một xấp xỉ tốt của đường cong hình cos. dưới dạng các tọa độ trên các khối, chúng là một phiên bản rời rạc của cos m x cos n y với các số nguyên m , n khác nhau.
Hình 41 64 hình mẫu cơ bản từ đó có thể nhận được một khối 8×8 pixel bất kỳ.
Bước này mở đường cho bước bốn, là một bước khai thác lần thứ hai sự khiếm khuyết của thị giác con người. Chúng ta nhạy với những biến thiên về độ sáng (hoặc màu sắc) trên những vùng lớn hơn là với những biến thiên ở sát nhau. Do vậy các hình mẫu trong bức ảnh có thể được ghi lại thiếu chính xác hơn khi khoảng cách giữa các sọc trở nên gần nhau hơn. Điều này cho phép nén thông tin lại hơn nữa. Bước thứ năm và là bước cuối cùng sử dụng một mã có tên gọi là “mã Huffman” để biểu diễn danh sách các cường độ của 64 hình mẫu cơ bản theo một cách hiệu quả hơn.
Mỗi khi bạn chụp một bức ảnh kỹ thuật số sử dụng JPEG, điện tử học trong máy ảnh của bạn sẽ thực hiện tất cả các bước trên, có lẽ chỉ trừ bước một. (Bây giờ những người chuyên nghiệp chuyển sang các file dạng RAW, định dạng này ghi thông tin thực tế mà không cần nén, cùng với những “metadata” như ngày tháng, thời gian, độ phơi sáng, v.v. Các file ở định dạng này chiếm nhiều dung lượng bộ nhớ hơn, nhưng các bộ nhớ đang trở nên lớn hơn và rẻ hơn theo từng tháng, và do vậy đó không còn là vấn đề nữa). Một đôi mắt đã được rèn luyện có thể phát hiện ra sự mất mát trong chất lượng ảnh được ghi dưới định dạng JPEG khi lượng thông tin giảm 10% so với bản gốc, và đôi mắt của người bình thường có thể dễ dàng thấy khi kích thước của file giảm xuống còn 2-3%. Do vậy máy ảnh của bạn có thể chứa số lượng ảnh gấp mười lần trên một thẻ nhớ so với số lượng ảnh ghi dưới dạng thô, trước khi ai đó không phải là chuyên gia có thể nhận ra.
Nhờ những ứng dụng như thế mà giải tích Fourier trở thành một “phản xạ” của các kỹ sư và các nhà khoa học, nhưng đối với một số mục đích thì kỹ thuật này lại có một nhược điểm lớn: cứ luẩn quẩn mãi với các hàm sin và cos. Phương pháp của Fourier trở nên có vấn đề khi ta thử dùng nó để biểu diễn một tín hiệu compact . Phải cần tới một số lượng khổng lồ các hàm sin và cos mới có thể biểu diễn được một đốm sáng định xứ. Vấn đề không chỉ là biểu diễn cho đúng hình dạng cơ bản của đốm sáng, mà còn phải triệt tiêu tất cả những gì nằm ngoài đốm sáng đó. Bạn phải khử hết cái đuôi ngoằn ngoèo dài vô hạn của tất cả hàm sin và cos đó bằng cách thêm vào các hàm sin và cos có tần số thậm chí còn cao hơn trong một nỗ lực gần như tuyệt vọng nhằm triệt tiêu những thứ thừa thãi không mong muốn. Do đó, phép biến đổi Fourier không áp dụng được cho các tín hiệu dạng đốm sáng: phiên bản được biến đổi tỏ ra còn phức tạp hơn và cần nhiều dữ liệu để mô tả nó hơn cả tín hiệu ban đầu.
Cái cứu vãn tình hình chính là tính tổng quát của phương pháp Fourier. Các hàm sin và cos đều có thể dùng được, bởi vì chúng thỏa mãn một điều kiện đơn giản: chúng độc lập với nhau về mặt toán học. Phát biểu một cách hình thức thì điều này có nghĩa là chúng trực giao với nhau: theo một nghĩa trừu tượng nhưng có chủ đích thì chúng tạo với nhau một góc vuông. Đây chính là chỗ mà thủ thuật của Euler xuất hiện, và cuối cùng cũng đã được Fourier phát hiện lại. Nhân hai dạng sóng hình sin cơ bản với nhau và lấy tích phân trên một chu kỳ là một cách để đo xem chúng liên quan mật thiết với nhau đến mức nào. Nếu kết quả là một số lớn thì hai sóng này rất giống nhau; còn nếu nó bằng 0 (điều kiện cho tính trực giao), thì hai sóng này là độc lập với nhau. Giải tích Fourier vận hành tốt trong trường hợp này bởi vì các dạng sóng cơ bản của nó trực giao và đầy đủ: chúng là độc lập với nhau và có đủ các dạng sóng như vậy để biểu diễn bất kỳ một tín hiệu nào nếu chúng được chồng chất một cách phù hợp. Thực tế, chúng cung cấp cho ta một hệ tọa độ trong không gian các tín hiệu, giống như ba trục tọa độ của không gian thông thường. Đặc điểm mới chủ yếu ở đây là bây giờ chúng ta có một số vô hạn các trục tọa độ: mỗi một dạng sóng cơ bản ứng với một trục. Nhưng điều này không gây nhiều khó khăn về mặt toán học mỗi khi bạn sử dụng nó. Nó chỉ có nghĩa rằng bạn phải làm việc với các chuỗi vô hạn thay vì các tổng hữu hạn, và không phải quá lo lắng khi nào các chuỗi đó hội tụ.
Ngay cả trong không gian hữu hạn chiều, cũng có rất nhiều hệ trục tọa độ khác nhau, chẳng hạn, ta có thể quay các trục đó để chúng chỉ theo các hướng mới. Không có gì phải ngạc nhiên nếu thấy rằng trong một không gian vô hạn chiều của các tín hiệu có nhiều hệ tọa độ thay thế khác một cách ghê góm với hệ tọa độ Fourier. Một trong những khám phá quan trọng nhất của toàn bộ lĩnh vực này, trong những năm gần đây, là một hệ tọa độ mới, trong đó các dạng sóng cơ bản bị hạn chế trong một vùng hữu hạn của không gian. Chúng được gọi là các wavelet (sóng nhỏ), và chúng có thể biểu diễn các đốm sáng rất hiệu quả, bởi vì chúng chính là các đốm sáng.
Chỉ mới gần đây người ta mới biết rằng giải tích Fourier kiểu cho các đốm sáng là có thể. Ta có thể bắt đầu một cách trực tiếp: chọn một đốm sáng có dạng cụ thể, gọi là wavelet mẹ (hình 42), sau đó tạo ra các wavelet con (rồi wavelet cháu, wavelet chắt...) bằng cách dịch wavelet mẹ sang hai bên vào những vị trí khác nhau, và mở rộng nó hay nén nó lại bằng cách thay đổi kích cỡ. Giống như vậy, các sóng cơ bản dạng sin và cos của Fourier là các sinelet mẹ, và các sóng dạng sin và cos với tần số cao hơn là con. Vì chúng tuần hoàn, nên các đường cong này không thể giống với đốm sáng được.
Hình 42 Sóng nhỏ (wavelet) Daubechies.
Các sóng nhỏ được thiết kế để mô tả hiệu quả những dữ liệu tựa đốm sáng. Hơn nữa, bởi vì các wavelet con và cháu chỉ là những phiên bản được định cỡ lại của wavelet mẹ, nên ta có thể tập trung vào các mức cụ thể của chi tiết. Nếu bạn không muốn xem cấu trúc ở thang kích thước nhỏ, bạn có thể lược bỏ tất cả các wavelet chắt khỏi ảnh của wavelet. Để biểu diễn một con báo bằng các wavelet, bạn cần một vài wavelet lớn để biểu diễn chính xác thân con báo, những wavelet nhỏ hơn cho đôi mắt, mũi, và dĩ nhiên là cả những vết đốm nữa, rồi những wavelet cực nhỏ cho bộ lông của nó. Để nén những thông tin biểu diễn con báo lại, có lẽ bạn sẽ phải quyết định rằng những sợi lông riêng rẽ của con báo là không quan trọng lắm, và bỏ đi các thành phần wavelet cụ thể biểu diễn chúng. Điều đặc biệt là, bức ảnh trông vẫn giống hình một con báo, và nó vẫn có đốm. Nếu bạn thử làm thế với ảnh Fourier của con báo thì danh sách các thành phần sẽ cực lớn, bạn sẽ không biết phải bỏ đi thành phần nào, và kết quả mà bạn thu được có thể sẽ không phải là một con báo nữa.
Nghe ra thì thật tuyệt vời, nhưng wavelet mẹ nên có hình dạng thế nào? Trong một thời gian dài, không ai có thể tìm ra điều đó, thậm chí không thể chỉ ra hình dạng phù hợp có tồn tại hay không. Nhưng vào những năm đầu của thập niên 80, nhà địa vật lý Jean Morlet và nhà vật lý toán Alexander Grossmann tìm ra wavelet mẹ phù hợp đầu tiên. Năm 1985, Yves Meyer tìm thấy một wavelet mẹ tốt hơn, và vào năm 1987, Ingrid Daubechies, một nhà toán học ở phòng thí nghiệm Bell đã làm bùng nổ cả lĩnh vực này. Mặc dù wavelet mẹ trông có vẻ giống với các đốm, chúng vẫn có cái đuôi toán học rất nhỏ lắc lư tới vô hạn. Daubechies đã tìm ra wavelet mẹ không có cái đuôi nào như thế: ở ngoài vài khoảng, wavelet mẹ luôn mang giá trị 0 - tức một đốm đích thực, bị hạn chế hoàn toàn trong một vùng không gian hữu hạn.
Đặc điểm tựa đốm sáng của các wavelet khiến chúng đặc biệt hiệu quả trong nén ảnh. Một trong những ứng dụng thực tiễn đầu tiên ở thang lớn hơn đó là lưu trữ dấu vân tay, và khách hàng là Cục điều tra liên bang Mỹ, FBI. Cơ sở dữ liệu dấu vân tay của FBI chứa 300 triệu hồ sơ, mỗi hồ sơ bao gồm hai dấu vân tay ngón cái và tám dấu vân tay các ngón còn lại, ban đầu được lưu trữ như dấu lăn trên giấy. Đó không phải cách thức lưu trữ thuận tiện, bởi vậy các hồ sơ đã được hiện đại hóa bằng cách số hóa các bức ảnh và lưu trữ kết quả trên một máy tính. Lợi thế rõ ràng của việc này đó là ta có thể tìm kiếm tự động dấu vân tay phù hợp với những dấu tìm thấy trong một vụ án một cách nhanh chóng.
File trong máy tính tương ứng với mỗi dấu vấn tay dài 10 megabyte: 80 triệu chữ số nhị phân. Do vậy toàn bộ cơ sở lưu trữ chiếm 3000 terabyte bộ nhớ: 24 nghìn triệu triệu chữ số nhị phân. Tình hình còn tồi tệ hơn, số lượng dấu vân tay mới tăng 30.000 mỗi ngày, do vậy đòi hỏi bộ nhớ phải tăng 2,4 nghìn tỉ chữ số nhị phân mỗi ngày. FBI đã có quyết định hợp lý rằng họ cần phải tìm ra một phương pháp nén dữ liệu. JPEG hẳn nhiên không phù hợp vì nhiều lý do, nên vào năm 2002, FBI quyết định phát triển một hệ thống nén mới sử dụng các wavelet, được gọi là phương pháp lượng tử wavelet/scalar (WSQ). WSQ giảm dung lượng dữ liệu xuống còn 5% dung lượng ban đầu, bằng cách lược đi những chi tiết tinh tế trong cả bức ảnh. Đó là những chi tiết không quan yếu đối với cả khả năng của mắt người và máy tính để nhận biết dấu vân tay.
Còn có những ứng dụng khác gần đây của wavelet trong việc tạo hình ảnh trong y tế. Các bệnh viện ngày nay sử dụng một số loại máy scan khác nhau để lắp ghép các tiết diện hai chiều của cơ thể con người, hay các cơ quan quan trọng như não bộ. Các kỹ thuật bao gồm CT (chụp cắt lớp vi tính),
PET (chụp cắt lớp bằng phát xạ positron) và MRI (chụp cộng hưởng từ). Trong kỹ thuật chụp cắt lớp, máy móc sẽ quan sát mật độ mô tổng thể, hay một đại lượng tương tự, theo một hướng xuyên suốt cơ thể con người, giống như những gì bạn nhìn thấy từ một vị trí cố định nếu tất cả các mô trở nên hơi trong suốt. Một bức ảnh hai chiều có thể được dựng lại bằng cách áp dụng toán học một cách thông minh cho toàn bộ chuỗi các “phép chiếu”, được thực hiện ở các góc độ khác nhau. Khi chụp CT, mỗi phép chiếu đòi hỏi phơi sáng đối với tia X, do vậy có lý do chính đáng để hạn chế lượng dữ liệu cần thiết. Trong tất cả các phương pháp scan trên, dữ liệu càng nhỏ thì càng tốn ít thời gian thực hiện, do vậy với cùng một số lượng máy móc ta có thể khám cho nhiều bệnh nhân hơn. Nhưng trái lại, những bức ảnh tốt lại cần nhiều dữ liệu sao cho phương pháp phục dựng lại ảnh có hiệu quả hơn. Wavelet cung cấp cho ta một giải pháp thỏa hiệp, trong đó việc giản lược lượng dữ liệu dẫn tới các bức ảnh với chất lượng vẫn chấp nhận được. Bằng cách thực hiện một phép biến đổi wavelet, bỏ đi các thành phần không mong muốn, và “biến đổi ngược” để nhận lại một bức ảnh, ảnh nghèo thông tin này có thể được làm trơn và rõ nét hơn. Wavelet cũng cải thiện các phương pháp mà nhờ nó các máy scan thu được các dữ liệu ngay lần đầu.
Thực tế, các wavelet đã xuất hiện ở hầu khắp các lĩnh vực. Những nhà nghiên cứu trong các lĩnh vực quá xa nhau như địa vật lý và kỹ thuật điện tử đều đã hiểu, nắm bắt, và sử dụng chúng trong lĩnh vực của mình. Ronald Coifman và Victor Wickerhauser đã sử dụng chúng để lược đi các tiếng ồn không mong đợi từ các bản ghi âm: một thắng lợi gần đây là màn biểu diễn của chính Brahms * khi ông chơi một trong những bản Vũ điệu Hungary của chính mình. Bản gốc được ghi âm trên một khối trụ bằng sáp vào năm 1889, nhưng đã bị chảy và được ghi lại trên một đĩa 78 vòng/phút. Coifman bắt đầu với một bản thu từ đài phát thanh của đĩa đó, nhưng lúc đó thực sự không nghe được âm nhạc giữa những tiếng ồn xung quanh. Sau khi làm sạch bằng wavelet bạn có thể nghe Brahms chơi nhạc - không thật hoàn hảo, nhưng chí ít cũng là nghe được. Đó là bản thu âm rất ấn tượng xuất phát từ một ý tưởng bắt đầu trong vật lý về sự truyền nhiệt 200 năm trước, và đã bị từ chối không cho công bố.
Johannes Brahms (7/5/1833 - 3/4/1897) là nhà soạn nhạc, nghệ sĩ dương cầm và chỉ huy dàn nhạc người Đức - ND.