Các tạo tác jpeg là gì và những gì có thể được thực hiện về chúng?


25

Tôi biết JPEG là một thuật toán nén "mất dữ liệu", loại bỏ thông tin để tiết kiệm không gian. Tác động trực quan của điều này là gì? Tôi đã nghe nói về "tạo tác JPEG". Chúng trông như thế nào?

Có những tình huống mà cùng một mức độ nén tạo ra nhiều tạo tác và trông tệ hơn? Nội dung của hình ảnh có vấn đề gì không? Thuật toán xử lý tốt cái gì, và nó có vấn đề gì?

Giả sử JPEG là một yêu cầu, có cách nào để giảm hiện vật không? Nếu tôi đang tải lên một dịch vụ web sẽ áp dụng khả năng nén của chính nó ngoài tầm kiểm soát của tôi, tôi có thể làm gì trước hình ảnh để làm cho nó tồn tại tốt hơn không?


Một số câu trả lời cho các phần của câu hỏi này tồn tại ở đây: photo.stackexchange.com/questions/5317/iêu
dpollitt

Cảm ơn @dpollit. Tôi đã không thấy cái đó do chính tả tiếng Anh và thiếu thẻ. Thêm vào đó, nó rất đặc biệt về độ phân giải thấp và kích thước tệp thấp.
mattdm

Tôi muốn thấy một số ví dụ ở cấp độ pixel (hoặc lớn hơn) trong câu trả lời.
mattdm

1
Tôi sẽ hướng bạn đến câu trả lời của tôi về chủ đề @dpollit được liên kết trước đó, cụ thể là trang web được liên kết từ nó, có toàn bộ tải hình ảnh mẫu từ mọi cấp độ "chất lượng" chính, với chi tiết cấp độ pixel, cho nhiều loại hình ảnh.
jrista

1
@BBking - Tôi rất muốn thấy một câu trả lời chi tiết về điều đó, với các tài liệu tham khảo.
mattdm

Câu trả lời:


19

Một ví dụ

Sử dụng hình ảnh hiện tại của hình ảnh tuần. Đây là JPEG chất lượng cao:

gimp Q = 99

được lưu lại trong Gimp với chất lượng JPEG 80 (thấp); xin lưu ý sự mất độ sắc nét chung, "các chấm" xung quanh các cạnh có độ tương phản cao, mất chi tiết ở các khu vực có độ tương phản thấp:

gimp Q = 80

và được lưu lại trong GIMP với chất lượng JPEG 30 (rất thấp); xin lưu ý các khối 8x8 rõ ràng và mất độ sắc nét và chi tiết màu sắc nghiêm trọng:

gimp Q = 30

Ba loại biến dạng

JPEG có xu hướng giới thiệu hai loại biến dạng:

  • mất độ sắc nét và dao động chung quanh các cạnh có độ tương phản cao: những điều này là do sự chuyển đổi cường độ gần đúng với các chức năng trơn tru (cosin); bạn thấy chúng như những "chấm nhỏ" hoặc "quầng sáng" xung quanh các cạnh; chúng đặc biệt dễ nhìn thấy trong các hình ảnh của văn bản vẽ tay.
  • cấu trúc chặn: hình ảnh được xử lý riêng cho mỗi khối 8x8 (hoặc lớn hơn trong trường hợp lấy sắc độ xuống), các cạnh khối sẽ hiển thị ở tỷ lệ nén cao.
  • mất chi tiết màu sắc: phụ thuộc vào việc lưu các tham số, chương trình có thể mạnh mẽ "giảm mẫu" (giảm độ phân giải) các kênh màu; nó hiếm khi là một vấn đề cho nhiếp ảnh tự nhiên.

Cấu trúc khối có thể nhìn thấy và quầng sáng xung quanh các cạnh thường được gọi là các tạo tác JPEG. Hãy phóng to ví dụ của chúng tôi để xem chúng tốt hơn. Từ trái sang phải, cắt từ hình ảnh gốc, JPEG Q80 và JPEG Q30. Tôi đã đánh dấu các vật phẩm bằng màu xanh lá cây (hình tròn cho quầng sáng và dấu chấm cho khối 8 x 8):

so sánh ba chiều

Như bất kỳ mất thông tin, bạn thực sự không thể phục hồi nó. Làm sắc nét có thể giúp phục hồi độ tương phản bị mất, nhưng làm cho "halos" rõ ràng hơn; khử nhiễu có thể giúp loại bỏ "halos", nhưng làm giảm độ sắc nét hơn nữa. Nếu cấu trúc khối có thể nhìn thấy, có lẽ đã quá muộn. Chỉ cần giữ các hình ảnh chất lượng cao, độ phân giải cao ban đầu xung quanh và không ghi đè lên chúng.

Chiến lược lưu trữ

Nếu bạn kiểm soát các tham số nén JPEG và muốn tối đa hóa chất lượng hình ảnh:

  • giữ tỷ lệ nén ở mức thấp nhất có thể (sử dụng cài đặt chất lượng cao)
  • xem xét các kênh màu sắc downsampling (có thể hầu như không thể nhận thấy đối với một số hình ảnh và cho phép tỷ lệ nén thấp hơn trong kênh độ sáng được đưa ra cùng một ràng buộc kích thước tệp)
  • xem xét sử dụng biến đổi cosine rời rạc dấu phẩy động (nó có thể tăng độ chính xác của biến đổi, nhưng việc lưu tệp sẽ mất nhiều thời gian hơn)
  • xem xét sử dụng độ phân giải thấp hơn thay vì tỷ lệ nén cao hơn (được đưa ra cùng giới hạn về kích thước tệp)

Nếu bạn tải lên dịch vụ của bên thứ ba và không kiểm soát các tham số nén, bạn không thể làm gì nhiều về dịch vụ này:

  • chọn một dịch vụ được biết là thích JPEG chất lượng cao (Flickr, SmugMug, 23hq, 500px) trên các dịch vụ được biết là quá nén để lưu lượng truy cập (Picasa, Imgur, Dropbox); thông thường bạn nhận được những gì bạn phải trả cho.
  • hãy thử tự thay đổi kích thước ảnh và tải lên đúng kích cỡ (một số dịch vụ sẽ nén lại bằng mọi cách, một số dịch vụ có thể phục vụ tệp của bạn khi được tải lên)

16

JPEG thực sự sử dụng hai loại nén, một loại mất và loại không mất. Nén không mất dữ liệu không gây ra hiện vật, vì vậy chúng ta có thể bỏ qua phần đó. Kiểu nén tổn thất đặc biệt trong JPEG, được gọi là biến đổi cosine rời rạc cho các nút toán học, cho phép đánh đổi giữa tỷ lệ nén và độ trung thực. Hầu hết các phần mềm đều coi đây là một giá trị "chất lượng", thông thường trên thang điểm 0-100 với 100 là không có hoặc rất ít mất mát và mọi thứ đi xuống từ đó.

Thuật toán nén đặc biệt này đã được áp dụng vì nó rất tốt trong việc loại bỏ những thứ mà hệ thống thị giác của con người không chú ý nhiều như các thành phần cảnh khác. Đây là một phần lý do tại sao hình ảnh khá đẹp có thể có tỷ lệ nén cao ấn tượng. Đây cũng là lý do tại sao nó hoạt động tốt trên các bức ảnh tông màu thực sự liên tục và không tốt cho hình ảnh tổng hợp và nghệ thuật đường nét.

Dưới đây là vùng 200 x 300 của một bức ảnh lớn hơn với các pixel được nhân rộng gấp 2 lần để nhìn rõ hơn. Điều này sử dụng JPEG nén "chất lượng" 100:

Chất lượng giảm 80, 79% kích thước tệp:

Chất lượng 60, giảm 86%:

Chất lượng 40, giảm 90%:

Việc giảm kích thước tệp được dựa trên nén JPEG của toàn bộ tệp để cấu trúc tiêu đề và chi phí cố định khác là một phần nhỏ của dữ liệu.

Lưu ý rằng bạn phải tìm kiếm các hiện vật trong bức ảnh thứ hai, mặc dù gần 4/5 thông tin ban đầu đã bị ném ra ngoài. Các tạo tác nén JPEG thường được nhìn thấy rõ nhất ở các cạnh sắc nét và trong các khu vực phẳng thay đổi chậm. Vì nghệ thuật đường nét là tất cả các cạnh sắc nét, nén JPEG không phù hợp với điều đó.

Bạn có thể thấy các tạo phẩm nén ngày càng tệ hơn với tỷ lệ nén cao hơn. Hãy nhớ rằng hình ảnh phía dưới vẫn giữ một lượng thông tin hình ảnh đáng kinh ngạc vì đã xóa 9/10 thông tin thô của nó.

Các loại tạo tác đặc trưng của nén tổn thất JPEG là "khối" trong các khu vực phẳng thay đổi chậm và "bụi bẩn" xung quanh các cạnh có độ tương phản cao. Ví dụ, xem khu vực dưới cùng bên phải trong hình trên. Điều đó chứa ngoài nền tập trung, vì vậy các giá trị đang thay đổi chậm. Sự tắc nghẽn là khá rõ ràng. Ví dụ về "bụi bẩn", hãy nhìn xung quanh sừng trái của con dê. Hai loại tạo tác này thường là một đầu mối mạnh mẽ mà nén JPEG được hình dung. Ngoài ra, hãy tìm những hình ảnh này trong các hình ảnh khác ở trên để hiểu cảm giác của chúng khi chúng bắt đầu xuất hiện và loại tỷ lệ nén nào bạn có thể chịu đựng được trong các trường hợp khác nhau.


1
Mất mát có thể nhìn thấy không phải từ chính DCT, mà từ lượng tử hóa các hệ số DCT sau khi biến đổi.
Sange Borsch

10

Nén JPG được thực hiện trong các khối pixel. Trong hình ảnh JPG được nén rất cao, có thể nhìn thấy các cạnh của các khối đó: trong ảnh gốc, hai pixel có thể rất gần nhau về độ sáng và màu sắc, nhưng nếu chúng ở các khối khác nhau, thì sau khi nén và giải nén (khi xem) giá trị của chúng có thể khác với bản gốc, vì vậy bạn mất đi sự pha trộn dần dần đó và bắt đầu thấy "tính khối" này.

nhập mô tả hình ảnh ở đây

Dưới đây là một ví dụ điển hình trên bầu trời - JPG được lưu ở chất lượng 0.

Nếu bạn được tải lên một trang web sử dụng nén JPG, bạn có thể có kết quả tốt hơn khi thực hiện hai điều (bạn sẽ cần thử nghiệm với trang web để xem những gì hoạt động):

  • Thay đổi kích thước kích thước hình ảnh của bạn trong phạm vi chiều cao / chiều rộng tối đa được trang web cho phép, vì vậy trang web không thay đổi kích thước hình ảnh của bạn cho bạn

  • tự nén để có kích thước tệp nhỏ hơn với chất lượng tốt. Tùy thuộc vào cách trang web hoạt động, nếu hình ảnh đã đủ nhỏ, nó có thể không thực hiện bất kỳ nén nào nữa, hoặc thậm chí nếu có, nó có thể có hiệu ứng thấp hơn.

Theo như loại bỏ các tạo phẩm JPG khỏi hình ảnh, các tạo phẩm JPG có thể trông tương tự như nhiễu cảm biến thông thường. Phần mềm giảm tiếng ồn sẽ phần nào thành công trong việc loại bỏ một số tạo phẩm JPG nhỏ, nhưng mất chi tiết.

tiếng ồn như đồ tạo tác jpg

Dưới đây là một ví dụ với chất lượng JPG là 50%, với độ khối, nhưng cũng có các pixel tối hơn và sáng hơn giống với nhiễu.

Topaz Labs có một sản phẩm gọi là DeJpeg , hoạt động cụ thể trên các tạo phẩm JPG. Nó làm tốt công việc này mà không mất quá nhiều chi tiết. Các plugin cũng có thể làm sắc nét và giảm tiếng ồn nói chung. Plugin tương thích với Photoshop CS, Photoshop Elements và Paint Shop Pro. Tôi không nghĩ rằng nó hoạt động với Lightroom hoặc Aperture.


Bạn có thể cho một ví dụ về tạo tác jpeg xuất hiện tương tự như nhiễu cảm biến không?
mattdm

Đã thêm một trong những bầu trời tối được lưu ở chất lượng JPG 50%.
MikeW

5

Đối với các trang web nén tệp cho đến khi chúng đạt được kích thước tệp mục tiêu nhất định, có một cách bạn có thể cải thiện chất lượng hình ảnh trong một số trường hợp nhất định.

JPEG hoạt động bằng cách chuyển đổi hình ảnh thành [chuỗi] biểu diễn không gian tần số [s] (trong đó X và Y đại diện cho tần số ngang và dọc và "độ sáng" biểu thị biên độ của tần số). Các tần số dưới một biên độ nhất định được bỏ qua, làm giảm lượng dữ liệu được lưu trữ, đạt được nén.

Nhiễu có phổ tần số rộng mà JPEG không thể nén. Đó là lý do tại sao bạn có thể có hai hình ảnh, áp dụng cùng một mức độ nén và nhận được hai tệp khác nhau sau khi nén JPEG.

Nếu bạn chụp ảnh của mình và cố tình làm mờ các vùng nền không quan trọng, bạn sẽ giảm tổng lượng thông tin và đạt được độ nén cao hơn nhiều của các khu vực này, khiến bạn có nhiều kilobyte hơn để mã hóa các khu vực quan trọng. Điều này đặc biệt tốt với các hình ảnh trong đó nền đã bị mất nét.


3

Dưới đây là một ví dụ về một jpeg phóng to:

nhập mô tả hình ảnh ở đây

Hình ảnh của người dùng Wikipedia FelixH. Hình ảnh này được cấp phép theo giấy phép Unported Attribution-Share Alike 3.0 Unported.

Trong hình ảnh này, bạn có thể thấy rõ cái gọi là "tạo tác" trong khu vực màu xanh. Lưu ý cách hình ảnh dường như được chia thành các khối và ranh giới khối không khớp.

Có một số điều có thể được thực hiện để tránh hoặc giảm vấn đề này:

  • Rõ ràng nhất: không sử dụng jpeg. Bạn có thể muốn làm việc với hình ảnh của mình bằng định dạng nén không mất dữ liệu, như RAW, PNG hoặc TIFF lossless. Bạn chỉ hạ cấp xuống jpeg ở bước cuối cùng, khi bạn muốn tải ảnh lên web, email, v.v.

  • Định dạng jpeg cho phép cấu hình mức nén. Bạn có thể nhận được ít tạo tác hơn nếu bạn muốn, nhưng tệp sẽ lớn hơn.

  • Tránh lưu lại jpeg nhiều lần, vì mỗi thế hệ làm giảm chất lượng hơn nữa.


Ngay cả RAW và PNG cũng có thể nhận được các tạo phẩm do lượng tử hóa pixel. Miễn là bạn không thay đổi bất kỳ giá trị nào, đó chỉ là hiệu ứng một lần và không có tổn thất nào nữa xảy ra do số hóa. Tuy nhiên, nếu bạn thay đổi các giá trị ở bất kỳ bước nào, như làm tối hoặc làm sáng cảnh hoặc pha trộn với các giá trị khác, v.v., thì sự thay đổi giá trị có thể dẫn đến các tạo tác mới ở lần lưu tiếp theo (thậm chí không nén) do lượng tử hóa một hình thức nén) để lưu hình ảnh tính toán mới. Để giảm thiểu các hiệu ứng này, hãy sử dụng số bit lớn nhất có thể ở mỗi bước và giữ toàn bộ quy trình làm việc của bạn.
Skaperen

@Skaperen: bạn đang nhầm lẫn hai điều khác nhau ở đây. Câu hỏi này là về việc mất chi tiết do nén jpeg. Những gì bạn đang mô tả là mất chi tiết được giới thiệu bởi các thuật toán xử lý hình ảnh nhất định. Những gì bạn đang mô tả là chính xác, nhưng hoàn toàn không liên quan đến các định dạng hình ảnh, do đó, nói rằng RAW và PNG được liên kết với lượng tử hóa pixel là sai, các định dạng tệp đó không gây giảm chất lượng.
Miguel

Hình ảnh này cũng cho thấy một vấn đề khác, bằng cách này: nó cho thấy một vầng hào quang từ mặt nạ unsharp.
mattdm

1

Hiện vật là tác dụng phụ không mong muốn của việc xử lý hình ảnh. Trong trường hợp này, chúng là kết quả của cách dữ liệu được nén bởi thuật toán JPEG.

Nói chung mọi người muốn có thể lưu trữ ảnh kỹ thuật số mà không cần sử dụng quá nhiều dung lượng lưu trữ. Do đó, hầu hết các bức ảnh được lưu trữ ở định dạng JPEG. Đây là định dạng nén dữ liệu tạo nên hình ảnh theo cách cố gắng bảo tồn càng nhiều chi tiết càng tốt. Mức độ nén có thể được thay đổi khi tệp được tạo. Tuy nhiên, đây là thuật toán "mất dữ liệu", có nghĩa là nó loại bỏ một số dữ liệu - không thể quay lại từ tệp JPEG đã nén về dữ liệu gốc.

Mất dữ liệu này là do chi phí chất lượng hình ảnh. Việc nén được thiết kế để tạo ra tác động tối thiểu lên hình ảnh tổng thể, nhưng có thể thấy rõ ở mức độ nén cao.

Các tạo tác JPEG thường trông giống như các phần màu của khối. Chúng có thể được nhìn thấy ở nơi có sự thay đổi màu tốt nghiệp tinh tế trong một dải màu lớn - ví dụ như trên bầu trời xanh hoặc khung cảnh sương mù. Các vật phẩm trông giống như những đường viền lởm chởm của một màu cụ thể chứ không phải là một sự pha trộn mượt mà.

Với các cảnh được nén nhiều hơn, các tạo tác cũng có thể được nhìn thấy xung quanh viền của các đối tượng - ví dụ như các nhánh của cây chống lại bầu trời sáng. Chúng trông giống như các khối mờ xung quanh chủ đề.

Cách tiếp cận tốt nhất để giảm tạo tác là:

  1. Luôn giữ hình ảnh gốc - không lưu JPEG đã nén, sau đó mở lại sau và lưu lại. Để biết ví dụ cực đoan về điều này, hãy xem Thế hệ mất , một video hiển thị hình ảnh được nén lại 600 lần.
  2. Lưu chất lượng càng cao càng tốt, với bất kỳ hạn chế kích thước tệp.
  3. Tránh sử dụng các dịch vụ nén lại nghiêm trọng hình ảnh của bạn - nếu cần thiết lưu trữ chúng ở nơi khác và liên kết trực tiếp với chúng.

Để biết thêm thông tin, hãy xem http://photo.net/learn/jpeg/

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.