Thuật ngữ kênh Channel có nghĩa là gì khi được sử dụng liên quan đến đồ họa máy tính?


16

Tôi đang nghiên cứu thuật ngữ cho đồ họa máy tính, và tuyên bố này đưa ra làm tôi bối rối.

Hình ảnh có thể có các kênh alpha để minh bạch.

Tôi đã cố gắng tìm kiếm ý nghĩa của cụm từ "kênh alpha", nhưng tôi thực sự bối rối bởi định nghĩa sử dụng một khái niệm khác gọi là "kênh". Tôi không thực sự chắc chắn điều này có nghĩa là gì, vì vậy ai đó có thể tốt bụng để giải thích thuật ngữ này cho tôi không?

Câu trả lời:


40

Màu kỹ thuật số có thể được tạo thành từ ba thành phần: đỏ, xanh lá cây và xanh dương. Kết hợp những thứ này lại với nhau, và bạn có được màu sắc cuối cùng, vd. màu vàng là 100% đỏ, 100% xanh lá cây và 0% xanh dương.

Thành phần thứ tư, như bạn đã đề cập, minh bạch. Cùng nhau, chúng tạo thành bộ dữ liệu RGBA(đỏ, xanh lá cây, xanh dương, alpha) đại diện cho một hình ảnh.

Bây giờ, thay vì pixel, hãy nghĩ về nó theo một cách khác: nếu bạn chia hình ảnh thành bốn lớp thì sao? Bạn có thể tách chúng ra như thế này:

  • Tất cả các pixel màu đỏ trên một lớp
  • Tất cả các pixel màu xanh lá cây trên một lớp
  • Tất cả các pixel màu xanh trên một lớp
  • Một giá trị biểu thị độ trong suốt trên một lớp

Các lớp này thực sự được gọi là "kênh." Đây là những gì họ trông giống như trong một hình ảnh mẫu:

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

Trong hình ảnh này, bạn chỉ có thể thấy các pixel màu đỏ trên kênh màu đỏ; tương tự cho màu xanh lá cây và màu xanh. Đó là tất cả ý nghĩa của nó - một cách suy nghĩ về hình ảnh như là "kênh" của các màu riêng biệt được kết hợp với nhau.


3
Câu trả lời tuyệt vời, và cảm ơn thông tin. Tôi thích cách bạn sử dụng hình ảnh để giải thích khái niệm này.
Stync

1
Bạn cũng có thể muốn đề cập đến các hệ màu khác, bởi vì phụ gia không phải là hệ thống duy nhất được sử dụng
jcora

4
Không phải những hình ảnh trên mỗi kênh đó có các giá trị từ giá trị 0 (màu đen) đến giá trị đầy đủ (ví dụ: màu đỏ) thay vì màu đen-> đỏ-> trắng (ví dụ) như được hiển thị? (Một cái gì đó như thế này: f.cl.ly/items/2Q2C1z2s331f1T1U341G/images.png )
Slipp D. Thompson

1
@ SlippD.Thndry là đúng. Trong RGB, màu trắng được tạo ra bằng cách mỗi kênh màu có cường độ đầy đủ, có nghĩa là hình ảnh của tro bụi có một chút lỏng lẻo với các quy tắc.
Alex

4
Tôi chọn hình ảnh này vì nó mang tính minh họa. OP có vẻ bối rối về khái niệm này. Giải thích khái niệm đơn giản hơn có vẻ quan trọng hơn là tìm một hình ảnh chính xác. Về mặt kỹ thuật, nó phải là bốn lớp thang màu xám (đó là hình ảnh ban đầu của tôi), nhưng điều đó khó hiểu hơn.
tro999

6

Thuật ngữ này xuất phát từ định nghĩa của "kênh" có nghĩa là một phần cụ thể của phổ tần số. Trong trường hợp này, các thành phần màu đỏ, xanh lục và xanh lam của một màu thường được gọi là "kênh" (vì ánh sáng đỏ, lục và lam là các phần của phổ ánh sáng khả kiến).

Vì alpha là một thành phần khác của màu sắc trong đồ họa máy tính (mặc dù không liên quan chặt chẽ đến ánh sáng khả kiến ​​như những thứ khác), nên nó còn được gọi là kênh.


4

Các kênh Alpha thực sự được phát minh bởi công ty Industrial Light & Magic của George Lucas (thực ra Alvy Ray Smith đã làm hầu hết công việc khi làm việc ở đó, người trước đây được Xerox PARC thuê - người mà chúng tôi có thể cảm ơn vì hầu hết mọi thứ trong điện toán hiện đại!).

Các kênh Alpha, ngoài việc thực hiện các hiệu ứng tuyệt vời như cửa sổ trong suốt, độ dốc trong suốt và bóng thực tế, có thể được sử dụng cho các hoạt động của pixel phụ. Trong thực tế, việc sử dụng ban đầu là do đồ họa máy tính tại thời điểm đó. Để phủ một hình ảnh khử răng cưa độc đáo lên một nền khác (hoặc nền của một bộ phim trực tiếp), bạn kết thúc với các cạnh hình khối. Điều đó sẽ không làm cho một bộ phim và cố gắng khử răng cưa hình ảnh với hậu cảnh tốn quá nhiều thời gian của CPU. Vì vậy, các cạnh của hình ảnh được làm bán trong suốt (kênh alpha). Điều này cho phép nền hiển thị thông qua các mật độ khác nhau - trộn màu của hai hình ảnh lại với nhau để chống bí danh. Điều này được sử dụng ở mọi nơi trong những ngày này, ví dụ, để vẽ các biểu tượng có các cạnh mượt mà hơn nhiều so với độ phân giải thường cho phép - và bạn không '

Các kênh Alpha được thực hiện dễ dàng trong phần cứng. Các máy sản xuất phim thời kỳ đầu có bit "genlock" (cũng có sẵn trên Amiga và một số máy Atari), về cơ bản là một chân đầu ra chuyển từ đầu ra máy tính sang đầu ra video. Chân được điều khiển bởi bit "trong suốt" ở đầu ra (thường có chế độ đồ họa "h sắc" 5: 5: 5 cho RGB và 1 bit cho độ trong suốt = 16 bit / pixel), cho phép phủ lớp ngữ cảnh dễ dàng của máy tính qua trực tiếp video mà không số hóa video. Điều này sau đó đã được sửa đổi thành đầu ra tương tự với bộ xử lý 8 bit - vì vậy thay vì chuyển đổi giữa máy tính và video trực tiếp, nó đã pha trộn nó - loại bỏ các cạnh khối khó chịu mà kỹ thuật 1 bit sử dụng. Khử răng cưa tương tự!

Thẻ video hiện đại có thể lưu trữ nhiều lớp thông tin trong bộ nhớ cùng một lúc và sử dụng lớp alpha để trộn nhiều lớp trong suốt alpha trong phần cứng. Điều này làm cho "họa tiết" của bạn và các đối tượng khác cần được khử răng cưa trông rất đẹp. Thay vì trộn thành màu nền cố định, khử răng cưa sử dụng kênh alpha để trộn khi đang bay. Tất nhiên, bạn có thể làm tất cả mọi thứ với kênh alpha, nhưng tôi hy vọng điều này mang lại cho bạn một sự khởi đầu. Để biết thêm lịch sử, hãy thử wikipedia.


bạn có thể cung cấp bất kỳ tài liệu tham khảo / trích dẫn nào cho thực tế AC đã được IL & M phát minh không?

Có một cái nhìn tổng quan tốt bởi chính Alvy trên blog của mình, tại đây: alvyray.com/awards/AwardsAcademy96.htm . Điều này sẽ gợi ý rằng nó được phát minh bởi Alvy Ray và Ed Catmull khi họ ở NYIT. Cả hai sau này thành lập Pixar.
mvl

Tôi quên nơi ban đầu tôi đọc nó, nhưng wikipedia đề cập đến nó
Evan Langlois

3

Không có ví dụ nào khác giải thích tại sao nó là alpha. Đó là từ biểu thức trong Alpha Compositing :

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

Trong đó Ca và Cb là hai giá trị màu đầu vào và Co là màu kết hợp đầu ra.

Thay đổi alpha giữa 0 và 1 thay đổi màu sắc giữa hình ảnh tổng hợp phía trước và phía sau.

(Xử lý hình ảnh cũng có "gamma", nhưng không phải là "beta" theo như tôi biết)


2

Tất cả các hình ảnh có 1 hoặc nhiều "kênh" thông tin. Ví dụ: loại hình ảnh RGB quen thuộc có 3 kênh thông tin: Đỏ, Xanh lục và Xanh lam. Nghĩa là, mỗi pixel trong ảnh có 3 số được liên kết với nó (nếu mỗi số là 8 bit, thì đó là hình ảnh 24 bit).

Alpha có thể thêm kênh thông tin thứ 4 (vì vậy số thứ 4 được liên kết với mỗi pixel và hình ảnh 32 bit). Kênh bổ sung này có thể được sử dụng cho nhiều mục đích khác nhau, nhưng mục đích phổ biến nhất là tính minh bạch.

Các định dạng tệp phổ biến với các kênh alpha là PNG và TGA.


2

Trong nhiều định dạng hình ảnh, một pixel được định nghĩa là một vectơ với 4 thành phần. RGB và alpha. Trong phối cảnh của toàn bộ hình ảnh, bạn chỉ có thể chọn từng thành phần của pixel và điều này cung cấp một loạt các giá trị. Nếu bạn chỉ muốn xử lý một thành phần, thì bạn có thể chọn sự kết hợp của tất cả các pixel của hình ảnh và điều này thường được gọi là một kênh . Một bộ sưu tập của một thành phần cho tất cả các pixel. Sau đó, kênh alpha có nghĩa là bộ sưu tập của thành phần alpha. Tương tự, bộ sưu tập của từng thành phần RGB có thể được gọi là kênh đỏ, kênh xanh lục và kênh xanh lam.


2

Một pixel là một tập hợp các thành phần. Theo truyền thống, các thành phần này có màu đỏ, xanh lá cây và xanh dương, với mỗi thành phần lấy 8 bit dữ liệu.

Vì thường có lợi khi sắp xếp bộ nhớ theo một số cách nhất định, những nơi đôi khi được đóng gói thành 32 bit không gian mỗi cách. Điều này để lại 8 bit dữ liệu bổ sung ở cuối mỗi pixel. Vì đây không phải là màu đỏ, cũng không phải màu xanh lá cây hay màu xanh lam, nó cần một cái tên - và alpha là một cái tên tương đối vô nghĩa.

Bây giờ, khi bạn có một mảng các pixel được sắp xếp thành một hình chữ nhật, bạn sẽ có được điều này:

   RGBARGBARGBARGBA
   RGBARGBARGBARGBA
   RGBARGBARGBARGBA
   RGBARGBARGBARGBA

đôi khi bạn chỉ muốn nói về một trong những màu trên, hãy nói màu đỏ:

   R***R***R***R***
   R***R***R***R***
   R***R***R***R***
   R***R***R***R***

lựa chọn phụ này chỉ có một yếu tố của mỗi thành phần pixel được gọi là "kênh" trong ảnh. Vì các pixel có 4 thành phần, hình ảnh này có 4 kênh.

Có các định dạng hình ảnh khác không có kênh alpha:

   RGBRGBRGBRGB
   RGBRGBRGBRGB
   RGBRGBRGBRGB
   RGBRGBRGBRGB

và có các định dạng với số bit khác nhau trên mỗi thành phần pixel (3,5,8,16,32) và một số có các bit không đồng nhất trên mỗi thành phần pixel.

Kênh trở thành mảng "ảo" chỉ có một thành phần pixel. (Tôi nói ảo, vì có một bước tiến giữa mỗi phần tử, trong khi các mảng theo truyền thống không có bước tiến như vậy)

Phần RGB cũng không được sửa - bạn có thể có hình ảnh thang độ xám có hoặc không có kênh alpha, bạn có thể có hình ảnh CMYK (Cyan Magenta Yellow blacK, thường là trong không gian màu trừ), bạn có thể có hình ảnh có toàn bộ vô số các kênh màu khác nhau được tạo ra bởi một raytracer đầu cơ hoặc một dụng cụ khoa học.

Mặc dù tôi đã xử lý các pixel như thể chúng luôn liền kề nhau, nhưng cũng có thể có các kênh được phân chia trên nhiều vị trí, như sau:

    RRRRGGGGBBBBAAAA
    RRRRGGGGBBBBAAAA
    RRRRGGGGBBBBAAAA
    RRRRGGGGBBBBAAAA

hoặc thậm chí

    RRRR
    RRRR
    RRRR
    RRRR
    GGGG
    GGGG
    GGGG
    GGGG
    BBBB
    BBBB
    BBBB
    BBBB
    AAAA
    AAAA
    AAAA
    AAAA

hoặc có RGB được đóng gói và A được lưu trữ trong một bộ đệm riêng.

Điều này không phổ biến trong dữ liệu trực tiếp trong các trò chơi, vì các card đồ họa hiện đại thường được thiết kế xung quanh các pixel RGBA. RGB có thể được xử lý thống nhất và với A tính toán nhanh liền kề có thể được thực hiện cho phép kết hợp một pixel RGBA trên nền được vẽ sẵn.

Kênh alpha thường được sử dụng cho thông tin minh bạch. Khó chịu, giá trị tối đa của alpha đôi khi được coi là trong suốt và đôi khi là mờ đục, bởi các cơ sở mã khác nhau. Điều này một lần nữa là ít phổ biến ngày nay. Kênh Alpha cũng đã được sử dụng để đặt hàng bộ đệm z (pixel từ người xem bao xa) để cho phép vẽ không theo thứ tự cho một cảnh và theo truyền thống mip ánh xạ được thực hiện bằng cách đẩy hình ảnh có độ phân giải thấp hơn 2x 2x (hoặc ít hơn 4 pixel) vào kênh alpha của hình ảnh độ phân giải cao hơn, đệ quy.

Ngay cả trong một hệ thống sử dụng pixel RGBA, ý nghĩa của các pixel này có thể không đồng ý. Liệu R có đo được bao nhiêu màu đỏ mà con người nhìn thấy, hoặc bao nhiêu photon màu đỏ nên được phát ra? Đây là sự khác biệt giữa các không gian màu tuyến tính và phi tuyến tính và nó tác động đến cách chính xác để kết hợp các pixel đã nói với một kênh trong suốt.

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.