2001
Sự ra đời của những định dạng file ảnh số thế hệ mới

Theo PC World Việt nam

Chúng ta đã đi một chặng đường khá xa kể từ thời "Mosaic" - thế hệ Web browser đầu tiên ra mắt cuối năm 1992. Từ văn bản trắng đen đến 24 triệu màu với khả năng tạo không gian ảo, kỹ thuật thiết kế Web quả thật đã tiến một bước dài và còn đang hình thành thế hệ nối tiếp. Bước ngoặt được coi là đầy hứa hẹn đó sẽ mang lại những lợi ích gì cho người dùng cuối?

Một thế hệ định dạng file ảnh mới JPEG 2000

GIF và JPEG sẽ phải nhanh chóng nhường chỗ cho JPEG 2000, một dạng file hình nén thế hệ mới mạnh hơn, hứa hẹn nhiều kỹ thuật mới trên nền tảng những ưu điểm của JPEG cũ như 24 triệu màu, khả năng nén cao, sử dụng được trên mọi môi trường...

JPEG 2000 áp dụng một kỹ thuật nén mới để lưu trữ dữ liệu ảnh, thay thế định dạng nén file hiện thời là DCT (Discrete Cosine Transformation). Nếu DCT nén ảnh theo từng khối vuông nhỏ rồi lưu chúng dưới dạng số thì kỹ thuật Wavelet Compression sẽ lưu file dưới dạng một dãy dữ liệu (kỹ thuật stream hình) nhằm tạo độ phân giải cao hơn khi file được mở hoặc tải về.

Lợi ích đầu tiên của Wavelet là loại trừ được những "vết dơ" bao quanh các khối vuông và biến ước mơ hình có độ phân giải cao trên mạng thành hiện thực. Chưa ai biết những gì sẽ xảy ra khi JPEG 2000 chính thức được đưa vào sử dụng, nhưng có điều chắc chắn mà các nhà thiết kế sẽ có nhiều khả năng lựa chọn khi lưu và tải ảnh lên mạng, không hạn chế độ phân giải và dung lượng: từ những hình chỉ để xem trên màn hình thông dụng 96dpi cho tới những hình óc độ phân giải đáp ứng nhu cầu in ấn 300 dpi đến 600 dpi - độ phân giải khiến ảnh có thể tái sử dụng ở những mục đích khác mà không ảnh hưởng tới chất lượng.

Khả năng người dùng Internet, chỉ sau vài thao tác chỉnh sửa tuỳ chọn trong Web Browser, có thể tải về hình ở độ phân giải mặc định 96 dpi hoặc 300-600 dpi để dùng cho in ấn cũng sẽ là một hiện thực gần. Tất cả những dữ liệu ảnh đó, từ 96 dpi cho đến 600 dpi đều được lưu trong cùng một file với định dạng theo kiểu mới: JPEG 2000.

Tuy các tính năng ưu việt đó hiện mới chỉ được thai nghén trong cộng đồng các nhà phát triển và định dạng JPEG 2000 vẫn còn đang dang dở, nhưng "ước mơ" định dạng này sẽ được thừa nhận toàn cầu vào năm 2001 là hoàn toàn có cơ sở, bởi kỹ thuật streaming đã được ứng dụng và mang lại kết quả khả quan (ví dụ trường hợp FLASH của Macromedia). Vấn đề chỉ còn là bao giờ thì các nhà sản xuất hay phân phối phần mềm áp dụng được định dạng JPEG 2000 vào các trình ứng dụng đồ hoạ và trình duyệt của họ một cách rốt ráo.

Với định dạng mới, các nhà thiết kế có thể cài đặt các đoạn mã về bản quyền, xuất xứ... của ảnh và an tâm rằng khả năng tồn tại của các thông tin này là rất cao - cho dù ảnh có bị chỉnh sửa hay thay đổi kích cỡ đi chăng nữa. Ðây là một điểm mạnh của JPEG 2000 so với các mã truyền thống theo thuật "Watermaking".

Khả năng tạo thêm các kênh phụ để lưu trữ những thông tin như thông số màu CMYK hay ICC profiles (nhằm loại bỏ sự khác biệt về Gamma màu giữa PC và MAC) cũng được đề cập đến trong bản phác thảo cuối năm ngoái. Một ảnh JPEG 2000 có thể lưu giữ đến 256 kênh thông tin khác nhau, một tính năng rất hữu ích cho các nhà sản xuất phần mềm và phần cứng muốn gửi thông tin chuyên biệt đến tay khách hàng. Nhà sản xuất phần mềm có thể muốn cài những thông tin về thư viện ảnh cùng dịch vụ liên quan, nhà sản xuất phần cứng cài thông tin về nhà thiết kế và các đại lý phân phối máy ảnh kỹ thuật số...

Một kỹ thuật khác cũng đáng chú ý là nhà thiết kế còn có khả năng gắn cho mỗi mảng hình trong toàn bức hình những giá trị ưu tiên khác nhau trong quá trình hiển thị. Ví dụ khi tải hình một nhân vật nào đó theo định dạng này, khuôn mặt nhân vật sẽ xuất hiện đầu tiên vì vùng ảnh khuôn mặt đã được người thiết kế gắn giá trị ưu tiên cao nhất.

Tất nhiên, để sớm đạt được những ích lợi đó và được sử dụng rộng rãi, JPEG 2000 cần sự ủng hộ mặn mà từ phía các nhà cung cấp trình duyệt, cần được những gương mặt đầu bảng như Microsoft (phía công ty chuyên về ứng dụng nếu như Microsoft bị chia nhỏ) hay Netscape đưa vào dòng trình duyệt kế tiếp của họ. Chỉ khi đó, những khả năng ưu việt của JPEG 2000 mới có cơ hội tự chứng minh và đem lại ích lợi cho cộng đồng người dùng cuối.

Ðịnh dạng PNG

Dĩ nhiên, chẳng thể có loại định dạng nào thoả mãn được mọi nhu cầu của người dùng cuối, JPEG 2000 cũng không phải là trường hợp ngoại lệ, đặc biệt trong lĩnh vực hoạt động. Ðây là công việc cần tới định dạng PNG.

Ngày 28 tháng 12 năm 1994, Compuserve (nhà đầu tư phát triển định dạng GIF) đã thoả thuận với Unisys (chủ sở hữu chính của lõi định dạng sử dụng trong GIF) nhượng lại đặc quyền đưa GIF vào phát triển trong các phần mềm ứng dụng, một sự kiện gây chấn động trong cộng đồng người sử dụng. Một tuần sau, một nhóm các nhà phát triển phần mềm độc lập đã cho ra đời bản nháp đầu tiên cho định dạng "Portable Bitmap Format" với hy vọng đưa đến tay người dùng một dạng file mã nguồn mở phong phú hơn bên cạnh GIF. Chưa đầy hai tháng sau, khái niệm PNG (Portable Network Graphics) chính thức được biết đến và PNG đã không ngừng hoàn thiện trong tư cách mã nguồn mở của GIF những năm sau đó. Ðến thời điểm hiện tại thì PNG đã hỗ trợ 48 bit màu, 16 bit RGB độc lập, 16 bit Grayscale và đặc biệt là 65.000 cấp độ tạo màu khác nhau cho mọi loại màn hình (65.000 cấp độ đỏ, 65.000 cấp độ xanh lá và 65.000 cấp độ xanh lục) - vượt quá sự mong đợi.

Nhưng bên cạnh các điểm mạnh đó, kích thước file là một vấn đề nan giải cho việc dịnh các nội dung trên Web. Hiện PNG thường hiển thị ở hai dạng 8-bit và 24-bit. Tất nhiên đây không phải chuyện mới trong việc áp dụng PNG trên cable, DSL hay ảnh vệ tinh, nhưng đáng bàn là giới thiết kế một ngày nào đó sẽ có thể đưa ảnh lên Internet với chất lượng ngang bằng với thiết kế dùng để in ấn và tốc độ tải xuống có thể chấp nhận được.

Nhìn chung thì PNG và JPEG 2000 đều đáp ứng được nhu cầu về màu sắc. Nhưng theo Greg Roelofs, tác giả "PNG: The Definitive Guide" đồng thời cũng là một trong những người tiên phong cho dạng thức PNG, thì "JPEG 2000 không hỗ trợ tính năng transparency, một yếu tố rất cần thiết trong việc thiết kế Web, trong khi PNG hỗ trợ hoàn toàn tính năng này, khiến hình ảnh đẹp hơn trong các chuyển bóng mờ". Không những JPEG, JPEG 2000 mà ngay cả GIF cũng chỉ hỗ trợ transparency một màu đơn. Trong khi đó, ở chế độ 24-bit, PNG cho phép transparency 8-bit, đủ cho bạn chuyển màu tác phẩm một cách mịn màng mà không phải chuyển sang dạng mô phỏng chấm điểm Floyd-Steinberg hay Stucki, v.v... Còn ở chế độ 48-bit, PNG thậm chí sẽ cung cấp transparency tới 65.536 cấp độ, làm hài lòng cả những nhà tạo mẫu khó tính nhất với các hình có sử dụng hiệu quả vignettes, drop shadow hay fade-outs... Tất cả các tính năng trên đều đã có trong các phiên bản trình thiết kế gần đây nhất song vẫn chưa được phổ biến rộng rãi vì hai nhà cung cấp khổng lồ là Microsoft và Netscape chỉ mới hỗ trợ chúng trong các phiên bản trình duyệt gần đây nhất, mà lại chưa đầy đủ. Lý do: PNG ảnh hưởng đến tốc độ hiển trị trang web. Theo ông Greg Roelofs :"ở thời điểm hiện tại, để xem được ảnh transparence đẹp, bạn phải trả giá phần nào bằng tốc độ hiển thị".

Xét cho cùng thì nguyên nhân nằm ở chỗ PNG vẫn chưa nhận được sự hỗ trợ hoàn toàn từ nền Windows, Macintosh hay UNIX. Nhưng bạn đừng lo, mọi chi tiết đều đã hoạch định hoàn tất, chỉ còn chờ xem nó có được ứng dụng một cách suôn sẻ hay không mà thôi. Một khi PNG được áp dụng đầy đủ, nó sẽ cung cấp sự hiệu chỉnh hoàn hảo cho gamma và chromacity xây dựng trên hệ màu RGB và cho chất lượng màu chính xác trên mọi loại màn hình cũng như mọi loại máy tính với những hệ điều hành khác nhau.

Theo lãnh đạo cao cấp của các công ty sở hữu các trình duyệt chính, các phiên bản IE 5.x hay Netscape 5.x sắp tới sẽ hoàn toàn hỗ trợ PNG. Chúng ta hay chờ xem!

Ðịnh dạng ảnh động

Bạn lo lắng vì PNG không hỗ trợ việc tạo hình động (animation)? Không cần thiết bởi một chuẩn về animation mới dựa trên nền tảng PNG sẽ ra đời - đó là MNG (Multiple image Network Graphics).

Thế hệ ảnh động tới đây sẽ mang lại cho các nhà thiết kế Web nhiều khả năng quản lý dung lượng file triệt để hơn. Trong số đó, hai hệ định dạng đáng chú ý nhất là MNG và SVG.

MNG

MNG, dạng thức file dựa trên gốc PNG, sẽ thừa hưởng mọi ưu điểm của PNG như lưu ở dạng truecolor hay khả năng transparency. Người đứng đầu nhóm phát triển MNG là Glenn Randers-Pehrson, nhà khoa học kiêm chuyên viên lập trình hình hoạ. Ông từng có 30 năm làm nhà vật lý trong quân đội Mỹ, đồng thời viết chương trình cho Silicon Graphics Workstations. Khi được phỏng vấn, Glenn Randers-Pehrson đã nói về những tính năng ưu việt nhất của MNG:

"Hiện MNG không phổ cập bằng GIF, nó chỉ chiếm một phần khiêm tốn trong 425 banners hoạt cảnh mà tôi tập hợp được trong thời gian qua. Nhưng một khi banner sử dụng MNG, nó sẽ hiệu quả hơn từ 10 đến 100 lần so với dạng nén GIF cũ. Những điểm chính yếu của "chiêu MNG" là:

Nó hoàn hoàn và hiển nhiên không phụ thuộc vào bất cứ tác quyền nào của Unisys thông qua GIF.

Gamma màu không phụ thuộc vào hệ điều hành, thông tin về bảng màu, chỉ số màu sử dụng được ghi cùng dữ liệu của MNG.

Nén tốt mà không làm mất chất lượng ảnh.

"Chuyển động tinh xảo"

"Vòng lặp xếp chồng nhau"

Thủ thuật "chuyển động tinh xảo" của MNG mà Glenn đề cập đến có thể hiểu như sau: Cũng như những layer trong Photoshop hay Object PhotoPaint, các đối tượng chuyển động trôi trên hình nền và phần transparency hoà lẫn vào hình nền hoàn toàn trơn tru, uyển chuyển nhờ kỹ thuật PNG.

Giả dụ bạn đang làm một hình GIF động cho cảnh diễn lại một tàu bay bay vào vũ trụ. Cứ mỗi một frame trong hoạt cảnh ấy, ảnh của tàu bay phải được dán vào hình nền và chỉ cần sau 20 frame, dung lượng file (bằng 20 lần dung lượng 1 frame) đã phình to ra hơn mức cho phép để chạy trên Web. Khác với khi sử dụng thủ thuật "chuyển động tinh xảo", bạn chỉ cần nhập hình tàu bay vào một lần. Những frame còn lại diễn tả cảnh bay sẽ đơn giản ghi nhận cách di chuyển tàu từ điểm A đến điểm B bằng các đòng lệnh hướng dẫn đường bay. Bằng cách này, dung lượng file sẽ giảm đáng kể vì tổng dung lượng của file phần lớn phụ thuộc vào một hình nền và một hình tàu bay duy nhất.

"Vòng lặp xếp chồng nhau" là cách thức khác góp phần làm giảm dung lượng file một cách đáng kể. Hãy xét ví dụ tạo mười frame chuyển động của tàu vũ trụ bay vào không gian, sau đó cảnh trên được lặp lại 3 lần, rồi tàu vũ trụ bắn tên lửa trong vòng năm frame, và cuối cùng là cảnh tàu bay đi ra khỏi hoạt cảnh:

Với cách làm file GIF cũ ta cần làm 45 frame mô tả cho hoạt cảnh trên:

Tàu bay bay vào không gian lần 1: Frame 1 đến 10

Tàu bay bay vào không gian lần 2: Frame 11 đến 20

Tàu bay bay vào không gian lần 3: Frame 21 đến 30

Tàu bay bắn tên lửa: Frame 31 đến 35

Tàu bay ra khỏi hoạt cảnh: Frame 36 đến 45

Tổng cộng: 45 frame đơn thuần

Ðây chính là lý do phải áp dụng phương thức của MNG

Tàu bay bay vào không gian lần 1: Frame 1 đến 10

Tàu bay bay vào không gian lần 2: Frame 1 đến 10 được mã lệnh gọi lại

Tàu bay bay vào không gian lần 3: Frame 1 đến 10 được gọi lại trình diễn lần nữa

Tàu bay bắn tên lửa: Frame 11 đến 15

Tàu bay ra khỏi hoạt cảnh: Frame 1 đến 10 được mã lệnh gọi lại và mã lệnh quy định trình diễn ngược lại (nghĩa là chơi từ Frame 10 ngược lại 1)

Tổng cộng: 15 Frame và một số dòng lệnh với dung lượng không đáng kể.

Frame 1 đến 10 được gọi là trình diện 3 lần và dung lượng từ 45 frame theo cách làm cũ xuống còn 1/3 theo MNG.

Glenn còn cho biết MNG cũng hỗ trợ những tính năng đặc biệt của JPG, gọi là JNG (JPEG Network Graphics). Hay nói cách khác, các tính năng nén tuyệt với của JPEG đều có khả năng thực hiện trong chính nội dung của MNG, và khiến file MNG đã nhỏ lại càng nhỏ hơn. Ngoài ra, chức năng JNG này được đính kèm như thể một option, tạo cho người thiết kế khả năng bật/tắt bất cứ khi nào cần thiết.

Vấn đề còn lại là liệu việc sử dụng có quá khó đối với các nhà thiết kế chưa quen viết lệnh cho các thủ tục trình diễn hay các công việc điều khiển khác? Theo Gerard Juyn là một trong những người thiết kế eMNGma, chương trình cung cấp tính năng lập trình hàng đầu cho chuẩn MNG động trên nền Windows. Gerard còn cho biết có khả năng MNG sẽ có cả những tính năng về chuyển cảnh chuyên nghiệp thường thấy ở các trình mix video như hue, dissolves, windows blindss, v.v... mà không làm tăng dung lượng của file.

"Tôi đang làm một mẫu hoạt cảnh diễn tả một hình khoảng 13KB (150x150 pixels) sử dụng tính năng windows blinds để chuyển sang màu nền" Gerard nói "Ðịnh nghĩa Windows blinds trên chỉ thêm 2 KB vào hoạt cảnh, trong khi chuyển cảnh file GIF thông thường phải cần ít nhất 130 KB để thực hiện. Yếu tố đó thật sự rất ấn tượng và là một nguyên nhân góp phần biến định dạng MNG thành hiện thực".

Tiếc thay, phải bốn, năm năm nữa thì MNG mới được biết đến một cách rộng rãi, khi các trình duyệt đã hỗ trợ MNG một cách đầy đủ và hoàn thiện, dù rằng các trình thiết kế ảnh gần đây nhất đều đã hỗ trợ các định dạng trên.

SVG

Bạn có bao giờ mong muốn chuyển những tập tin ảnh dạng vector vào sử dụng trực tiếp trên Web mà không phải qua dạng JPEG hay GIF? Nếu bạn là nhà thiết kế Web theo tôn chỉ "đẹp và nhẹ" thì ắt hẳn đây là ước mơ nóng bỏng.

SVG sẽ là định dạng file biến ước mơ của bạn thành hiện thực. SVG (Scalable Vector Graphics) - được xây dựng trên cơ sở XML mô phỏng hai chiều - hứa hẹn đem độ sắc nét tuyệt vời của ảnh dạng vector ở mọi chế độ phân giải vào Web, với sự hỗ trợ của tất cả các bậc đàn anh trong lĩnh vực thiết kế phần mềm đồ hoạ và trình duyệt Internet.

Thật vậy, SVG là một phần của khái niệm Graphics Activity được mô tả trong World Wide Web Consortium (W3C) và bản phác thảo gần dây nhất của nó có sự đóng góp của hầu hết các bậc tiền bối có liên quan như Adobe, Apple, Corel, Hewlett-Packard, IBM, Macromedia, Microsoft, Netscape, Quark và Sun. Chính điều này đã góp phần củng cố khả năng hiện thực hoá SVG, sớm nhất là trong quý I năm 2001.

Ngoài khả năng hỗ trợ hoàn toàn các hình vector cơ bản như rectangle, rounded- rectangle, circle, ellipse, polyline/open path, polygon/closed path, SVG đề cập đến cả những khả năng tích hợp TEXT và hình như JPG hay PNG vào nội dung ảnh. Và cũng như tên gọi của nó, "Scalable" là một tính năng giúp cho người thiết kế có khả năng diễn đạt sản phẩm của mình ở mọi chế độ từ 96 đến 300 dpi mà không làm sụt giảm chất lượng ảnh. Có nghĩa là ta có thể phóng to/thu nhỏ ảnh SVG mà không sợ bị "bể hình".

Thông thường, sau khi thiết kế hình ở dạng Vector, người ta sẽ xuất ảnh sang dạng bitmap để vào các chương trình như Photoshop hay PhotoPaint chỉnh sửa, thêm thắt hiệu quả như Lighting, shadow, blur hay noise, alpha-channel, những yêu cầu có vẻ quá khó so với hạn chế của dạng vector. Nhưng rồi tình hình sẽ khác, tất cả đều có thể thực hiện trực tiếp trên SVG bằng cách vẽ giả lập các hiệu quả trên, hoặc kết hợp với các ảnh bitmap diễn tả hiệu quả như PNG. ảnh SVG vẫn xuất hiện ở chế độ mặc định 96 dpi trên màn hình, nhưng khi bạn có nhu cầu xuất ra máy in thì ảnh vector gốc sẽ được gửi ra máy in, sau đó các hiệu quả bitmap sẽ được tính toán ở độ phân giải 300 dpi và thêm vào phần ảnh vector gốc. Kết quả là sự kết hợp thể hiện tuyệt vời các hiệu quả bitmap trên ảnh vector ở cả hai thiết bị xuất khác nhau là màn hình và máy in.

Một khía cạnh rất tốt khác của SVG là khả năng biểu diễn các hoạt cảnh thường hoặc hoạt cảnh có tương tác với người sử dụng. Tất cả đều đã được quy định cụ thể trong Document Object Model của W3C.

Ðịnh dạng SVG sẽ giúp các nhà thiết kế Web tránh được "Nỗi ám ảnh thường ngày": cùng một ảnh vẽ nhưng hiệu quả hiển thị đôi khi hoàn toàn khác nhau ở những trình duyệt khác nhau. Nguyên nhân: mô hình đối tượng HTML của các nhà sản xuất phần mềm khác nhau, mỗi người mỗi chuẩn (nhưng không có chuẩn nào là chuẩn cả!) làm ảnh hưởng đến sự hiển thị của hình.

Một thử nghiệm đầy sức thuyết phục với SVG: cùng một ảnh 400x400pixel, dung lượng ghi nhận chỉ vỏn vẹn 2KB thay vì 11KB nếu lưu dưới dạng GIF (và cùng ảnh trên thì JPEG ngốn hết 22KB lưu trữ). Bên cạnh đó, cách thức mà SVG lưu trữ thông tin cũng rất ấn tượng. Nếu thử mở những file JPEG hay GIF bằng Notepad, bạn sẽ nhìn thấy toàn những con số, ký tự và dấu hiệu mã hoá "không hiểu nổi". Nhưng với SVG, Notepad sẽ hiển thị những đoạn Text "có thể hiểu được"!

Do được xây dựng trên cơ sở ngôn ngữ XML nên SVG có thể được vẽ bằng các dòng lệnh mà không cần phải có những thao tác nhấn chuột, tô màu... Bạn cũng có thể dùng các trình chuyển đổi để biến các loại file vector bình thường sang dạng mã lệnh. Một tập tin ảnh chú sư tử con kích thước 172x273 sẽ có dung lượng 35,5 KB ở dạng JPEG truecolor và 20KB ở dạng GIF 256 màu. Trong khi đó với SVG, tổng dung lượng của các mã lệnh cũng xấp xỉ bằng dung lượng file dạng GIF, nhưng ta có thể phóng lớn hình mà không làm mất chất lượng ảnh cũng như dung lượng sẽ tăng không đáng kể.

Tóm lại, SVG tỏ ra đầy sức thuyết phục trong lĩnh vực hình động và cũng có thể sẽ là tương lai của hình 3 chiều và các trình thiết kế Web kiểu WYSIWYG. Nhờ nó, có thể ta sẽ có một thế hệ trình thiết kế Web mới, phong phú hơn và mạnh mẽ hơn trong việc diễn đạt nội dung. Một ngày xa hơn nữa có thể sẽ không ai còn nhớ tới các chương trình soạn thảo văn bản kiểu Word, thay vào đó là chương trình tạo "siêu văn bản thế hệ mới"!.


PcLeHoan 1996 - 2002
Mirror : http://www.pclehoan.com
Mirror : http://www.lehoanpc.net

Mirror : http://www.ktlehoan.com