Sao lưu chất lượng cao của Google Photos - làm thế nào Google đạt được khả năng nén tuyệt vời và tôi có bị mất một số dữ liệu không?


21

Tôi chắc chắn rằng nhiều người trong chúng ta đã sử dụng bản sao lưu chất lượng cao của Google cho phép chúng tôi lưu trữ ảnh trực tuyến mà không mất phí.

Gần đây, tôi đã nghĩ đến việc thử nghiệm chất lượng tải lên thực sự cao như thế nào bằng cách tải lên một số bức ảnh (dưới 16 MP) và so sánh chúng với bản gốc về độ phân giải, chất lượng (nhìn bằng mắt) và kích thước tệp.

Tôi đã ngạc nhiên khi lưu ý rằng độ phân giải và chất lượng gần giống như bản gốc (không có sự khác biệt về thị giác đối với mắt thậm chí được phóng to trong hầu hết các trường hợp) nhưng kích thước tệp đã giảm đáng kể - ít nhất là 2-3 lần và thậm chí khoảng 10 lần một số trường hợp Đã từng sử dụng RAR cho các loại tệp khác nhau trong quá khứ, tôi biết rằng nó sẽ không đến gần và không buồn kiểm tra nó.

Câu hỏi là: Làm thế nào Google quản lý nén tuyệt vời như vậy mà không có bất kỳ thay đổi đáng chú ý nào trong hình ảnh? Có phải họ đang bán dữ liệu vị trí hoặc dữ liệu khác liên quan đến hình ảnh mà nhiếp ảnh gia nghiệp dư không biết?


2
Câu trả lời của tôi thực sự giải quyết câu hỏi thứ hai. Họ đã không tìm thấy một thuật toán nén không mất dữ liệu chung kỳ diệu như một phiên bản siêu ZIP hoặc RAR. Họ vừa tăng cường nén cụ thể JPEG.
mattdm

Câu trả lời:


20

Chà, đối với một điều, tất cả các bức ảnh lớn hơn 16 megapixel đều được thay đổi kích thước thành 16 MP - vì vậy, đối với nhiều máy ảnh ngày nay, đó là độ phân giải giảm rõ ràng ngay lập tức.

Nhưng tất cả các ảnh khác cũng được nén , sử dụng thuật toán nén tối ưu hóa. Tôi không nghĩ Google xuất hiện và nói chính xác những gì họ làm, nhưng có lẽ đó là thuật toán Guetzli mã nguồn mở của họ . Google tuyên bố:

Hình ảnh do Guetzli tạo ra thường nhỏ hơn 20-30% so với hình ảnh có chất lượng tương đương được tạo bởi libjpeg.

Dù họ đang làm gì, kết quả khá ấn tượng - thường lớn hơn nhiều so với 20-30%. (Có lẽ sau đó Google không coi đây là những "chất lượng tương đương" thực sự.) Bạn có thể thấy một số so sánh song song trong bài đăng trên blog của Phone Arena này .

Nhưng, đối với câu hỏi tiêu đề của bạn: bạn chắc chắn đang mất một số dữ liệu. Thuật toán này không phải là phép thuật - nó chỉ đơn giản sử dụng một mô hình tri giác để loại bỏ dữ liệu trực quan mà việc nén JPEG thông thường không có, dẫn đến tốc độ nén cao hơn trong khi (hy vọng) không gây ra bất kỳ sự xáo trộn nào nữa cho những điều bạn thực sự có thể nhận thấy.

Chỉ bạn mới có thể quyết định xem bạn có ổn với điều đó không. Nếu bạn đang sao lưu bản gốc RAW (có điều chỉnh cũng được sao lưu) và có thể tạo lại JPEG theo ý muốn, tôi sẽ không nghĩ hai lần về nó. Nhưng nếu bạn nghiêm túc về việc chụp ảnh và có một quy trình làm việc tập trung vào JPEG - và mặc dù hợm hĩnh RAW trực tuyến, điều đó vẫn ổn - ít nhất bạn có thể muốn giữ các tệp JPEG gốc không bị thay đổi. Thêm một terabyte dung lượng lưu trữ chỉ 10 đô la / tháng với Google. Hoặc nếu bạn là khách hàng của Amazon Prime (100 đô la / năm), bạn sẽ có được bộ lưu trữ ảnh không giới hạn thực tế , bao gồm các tệp RAW.



5

Về cơ bản, họ đang ném sức mạnh xử lý vào vấn đề, sử dụng các phương pháp chuyên sâu rất tính toán, thử nhiều cách khác nhau để nén hình ảnh trong các quy tắc JPG. Xử lý là một cái gì đó có khả năng google có rất nhiều, đặc biệt là vì nó cũng tiết kiệm bandwdith.

Bạn có thể làm tương tự - phần mềm và các dịch vụ khác nhau là miễn phí hoặc giá rẻ. Chương trình / máy ảnh của bạn đơn giản là không có khả năng xử lý để đưa ra cách "tối ưu" để sử dụng nén mất dữ liệu JPG.


Đây là một điểm tốt mặc dù nó sẽ chỉ làm giảm kích thước của hình ảnh xuống một tỷ lệ nhỏ.
Salman A

4
Ồ, thuật toán Guetzli được đề cập bởi @mattdm ở trên là một con heo! Trên trang web github với phần mềm, nó cho bạn biết nó cần 300Mb RAM cho mỗi megapixel hình ảnh để xử lý và cũng mất một phút thời gian CPU cho mỗi megapixel!
davidbak

Vâng. Về cơ bản "hãy thử rất nhiều kết hợp và sau đó sử dụng kết hợp tốt nhất". Những Lightroom nào cũng như máy ảnh của bạn (đặc biệt là máy ảnh của bạn) có thể làm được.
TomTom

Nhưng vì thuật toán về cơ bản đang giải nén một hình ảnh JPEG đã được nén, điều này có phải là kết quả kém hơn nếu bạn áp dụng thuật toán tương tự như ban đầu?
Michael

Vâng. Không. Nhìn lên Gützli. Jpeg - partciualrly được thực hiện bởi máy ảnh - được thực hiện NHANH CHÓNG. Tehy có thể dành một phút tìm kiếm mã hóa tối ưu cho mỗi dịch vụ hình ảnh như compressor.io làm như vậy. Bạn được giảm kích thước rất đáng kể với cùng một hình ảnh.
TomTom
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.