So sánh chất lượng hình ảnh ( Image quality )

Thảo luận trong 'Card Đồ họa - Video Cards' bắt đầu bởi Rockie, 7/3/07.

  1. Rockie

    Rockie New Member

    Bài viết:
    237
    Mục đích của bài :


    -Nhắc lại 1 số khái niệm sử dụng trong bộ lọc vật liệu


    -Nhắc lại sơ sài về bộ lọc vật liệu ( texture filtering )


    -Đưa ra vài cách so sánh về chất lượng hình ảnh mà các website nước ngoài thường sử dụng


    -Hướng dẫn những người chưa biết sử dụng 1 số soft để so sánh bộ lọc vật liệu.




    Mở đầu :​



    -Trứơc đây những gamer sử dụng vid card chủ yếu chỉ để chơi được những game hiện có trên thị trường ,tiêu chí chọn vid lúc đó chỉ dựa vào tốc độ ,sự ổn định và khả năng overclock .Để đáp ứng nhu cầu đó các nhà sản xuất vid card, phải lựa chọn giữa việc tăng tốc xử lý hình ảnh và chất lượng hình ảnh ,các phép tối ưu cho bộ lọc hình ảnh được đưa vào, việc đưa các phép tối ưu vào giúp cho tăng tốc độ xử lý của các vid card nhưng đồng thời cũng làm giảm chất lượng hình ảnh ở một mức độ nào đó. Với sự phát triển thời đại nhu cầu đòi hỏi con người càng cao ,chất lượng hình ảnh cũng là 1 trong những đòi hỏi quan trọng, nhất là đối với người sử dụng vid card high-end (enthusiast và hardcore gamer) .Vì vậy việc sử dụng các phép tối ưu đang bị những người sử dụng vid card chỉ trích ,họ đòi hỏi 1 chất lượng hình ảnh cao nhất ( khi bỏ các phép tối ưu hình ảnh sẽ đẹp hơn ,tuy nhiên tăng công việc phải làm của vid card lên rất nhiều ) ví dụ những series geforce 6 và 7 .

    Bài sau đây sẽ trình bày cho các bạn hiểu thế nào là các phương pháp lọc hình ảnh, thế nào là phép tối ưu từ đó mọi người sẽ hiểu lý do tại sao người ta lại nói series x1000 cho chất lượng hình ảnh đẹp hơn series ge6 và 7 và từ đó mọi người sẽ tự tìm được cách so sánh được các series ge8 <> R600 như những gì mà các website nước ngoài thường làm.


    • Một số khái niệm có liên quan đến bộ lọc vật liệu:



    Texture : là những hình ảnh 2D ví dụ như màu sắc ,hình ảnh mặt đất, hình ảnh bức tường ….


    Texture mapping : là công việc dán các hình 2D lên những hình 3D ( nhớ lại trong bài 3D graphic pipeline các hình 3D sau khi được dựng lên thì hoàn toàn không có màu sắc gì các ,nó cần được dán các texture lên ) .


    [​IMG]

    Texture stage : hình ảnh trong các game hiện tại thường do nhiều lớp texture dán lên ( multitexture ) ví dụ như texture map ,light map ,bump map ,mip mapped .Các lớp này dán lên nhau và cuối cùng cho 1 hình ảnh cuối cùng .


    Đây là lớp texture map



    [​IMG]

    Đây là lớp light map



    [​IMG]

    Đây là hình ảnh cuối cùng



    [​IMG]

    Texel : khi các texture được dán lên vật 3D thì những đơn vị nhỏ nhất nằm trên các texture thì được gọi là texel ,cũng giống như những đơn vị nhỏ nhất trên monitor là pixel . Nhìn hình ,những ô vuông có màu sắc là các texel còn những ô vuông lớn không màu ở phía trên những ô vuông màu là pixel .


    [​IMG]



    Texture filtering : là quá trình vid card sử dụng các bộ lọc ( ở mỗi setting khác nhau trong driver ,vid card sẽ sử dụng các bộ lọc khác nhau ) để chuyển các texel có trong hình ảnh 3D nằm trong view space ( các hình ảnh 3D nay đã được dựng lên trong quá trình Geometry ) thành những hình ảnh 2D để đưa lên monitor .
    Mipmapping : mipmap là những hình thu nhỏ của cùng 1 hình ,ở mỗi mức mipmap hình ảnh sẽ bị thu nhỏ đi ½ .


    [​IMG]


    Lý do sử dụng mipmap để tăng chất lượng hình ảnh lên, giảm đi artifact ( nhìn hình )



    [​IMG]

    Nhìn vào hình những artifact ở cuối con đường trong bức hình không sử dụng mipmap trông như có những hạt đen ,vàng ,trắng làm ta không thể thấy được texture trên con đường ,lý do là càng ở xa thì con đường càng thu nhỏ lại ( số lượng pixel dành để thể hiện phần cuối ít ) ,càng ở gần nhân vật trong hình thì con đường càng to ( số lượng pixel dành để thể hiện nhiều ),do đó khi dán texture có kích thước to vào đoạn cuối đường sẽ gây ra artifact như ta đã thấy ,để giải quyết việc này thay vì dán texture có kích thước to vào thì người ta sẽ dán 1 mipmap của texture ( cũng là texture đó nhưng có kích thước nhỏ hơn ) đó vào đoạn cuối đường. Như đã nói ở trên 1 trong những lớp texture có tên là mip-mapped chính là lớp texture để làm việc này.

    Color mipmap : việc sử dụng color mipmap để so sánh giữa các phương pháp lọc khác nhau ,mỗi mức mipmap sẽ được thể hiện với màu khác nhau.


    [​IMG]


    II. Nhắc lại sơ sài về bộ lọc vật liệu:( texture filter )


    A) Các phương pháp lọc :

    1) Nearest point ( point sampling ) :

    Đây không phải là bộ lọc mà chỉ là phương pháp chuyển các texel thành các pixel đơn giản nhất ,được thực hiện bằng cách lấy màu sắc của texel nằm ngay ở điểm giữa của pixel làm màu sắc cho pixel đó ( thật ra nó không chỉ lấy màu sắc mà là toàn bộ thông tin về texel đó như : màu sắc ,alpha ( mức độ trong suốt của texel ) và nhiều thông số nữa ).

    Việc lấy mẫu như trên có nhược điểm :
    Khi vật thể tiến lại gần monitor thì ta sẽ có số lượng pixel nhiều hơn số lượng texel dẫn đến hiện tượng là hình ảnh cuối cùng như tạo bởi các khối vuông .( xem hình )


    [​IMG]

    Khi vật thể đi xa ra monitor thì ta có số lượng texel nhiều hơn số pixel ,tuy nhiên với nearest point chỉ lấy 1 texel để đại diện cho pixel nên kết quả là 1 số texel không được đưa vào ,hình ảnh cuối cùng sẽ thể hiện 1 cách mờ nhạt không rõ ràng được các texture .

    2) Linear :

    Khác với nearest point phương pháp lọc này sẽ chọn 4 texel ở xung quanh điểm tương ứng với pixel được chuyển đổi sau đó sẽ lấy giá trị màu sắc trung bình của 4 pixel đó. Xem hình ta thấy pixel ( hình tròn ) có màu tím do 2 màu xanh + 2 màu hồng .


    [​IMG]

    a) Bộ lọc Bilinear :

    Bộ lọc này sử dụng phương pháp lọc linear cho những texture ở gần lẫn những texture ở xa do đó khi vật tiến về hướng monitor thì số lượng texel sẽ được nhân lên do đó sẽ không tạo ra những hình ảnh ô vuông như kiểu lọc nearest point .Tuy nhiên việc sử dụng bộ lọc này sẽ cần vid card đọc thông tin từ memory do đó nó sẽ tốn bandwidth hơn gấp 4 lần so với nearest point.

    b) Bộ lọc Trilinear :


    Bộ lọc này sử dụng cách lọc giống như bilinear ở 2 mipmap liên tiếp nhau, kết quả của việc này sẽ tạo ra 2 texels ( mỗi mipmap cho 1 giá trị màu sắc của 1 texel ), màu sắc của pixel đích là giá trị trung bình của 2 texels này. Do sử dụng đến 8 texels khi lọc nên bandwidth cho bộ lọc này tốn gấp đôi bộ lọc bilinear và gấp 8 lần nearest point .


    [​IMG]

    Bộ lọc trilinear có ưu điểm hơn so với phương pháp bilinear là có lọc trên cả mipmap do đó khi di chuyển trong game ( hoặc trong ứng dụng 3D ) thì các mép nối giữa các mipmap ko bị lộ ra.


    [​IMG]

    Trên hình cho thấy mép nối giữa 2 mipmap bị lộ ra, khi chụp hình lại thì chỗ nối này rất khó thấy ,tuy nhiên khi di chuyển trong game sự lộ ra của mép nối sẽ tạo nên những vạch ngang dưới chân nhân vật.
    Ngoài ra 1 nhược điểm chung cho phương pháp lọc linear này ( bilinear và trilinear ) là nó chỉ lọc chính xác khi texture nằm đối diện với monitor ,khi camera di chuyển đi 1 góc khác các texture trên vật sẽ bị biến đổi hình dạng ,lúc này phương pháp lọc này sẽ thực hiện không được chính xác nữa kết quả là hình ảnh texture trên vật sẽ bị mờ nhạt.

    3) Anisotropic filtering :

    Để khắc phục nhược điểm của các phương pháp lọc linear người ta đề ra phương pháp anisotropic, cách lọc của phương pháp này cho phép lọc 1 cách chính xác những texture ngay cả ở những vật không nằm đối diện với monitor. Số lượng texels được lọc cho mỗi pixel tuỳ thuộc vào setting của ta ví dụ AFx1 tương đương với 4 texels , X2 tương đương với 8 texels ,…x16 tương đương với 64 texels. Số lượng texels được lọc càng nhiều nghĩa là số lượng bandwidth để đọc các texels này từ memory càng nhiều ,với 64 texels số lượng bandwidth sẽ tốn gấp 64 lần so với phương pháp nearest point và 16 lần so với phương pháp bilinear.

    4) Các bộ lọc trong thực hành :

    Tóm lại ta có 3 phương pháp lọc trên lý thuyết : Nearest point, Linear và Anisotropic.
    Để cấu thành 1 bộ lọc hoàn chỉnh người ta quan tâm đến 3 thành phần đó là : magnification filter ,minification filter và mip filter. Magnification filter giúp lọc những texture nằm ở gần monitor, minification filter giúp lọc những texture ở xa và Mip filter giúp việc lọc giữa 2 mức mipmap gần nhau.
    Đối với Mag và min filter thì ta có thể chọn lựa : Point ,linear và anisotropic.
    Đối với Mip filter thì ta chỉ có thể chọn : Point và linear.

    + Nếu Mag ,min lọc theo kiểu linear và mip lọc theo kiểu point thì ta có bộ lọc Bilinear.

    +Nếu Mag,min lọc theo kiểu linear và mip lọc theo kiểu linear thì ta có bộ lọc Trilinear.

    +Nếu Mag ở Linear ,Min ở anisotropic và mip ở point thì ta có bộ lọc Bilinear anisotropic.

    + Nếu Mag ở Linear ,Min ở anisotropic và mip ở linear thì ta có bộ lọc Trilinear anisotropic.

    Các loại kết hợp khác không được sử dụng trong thực tế.

    B) Các phương pháp tối ưu :

    Tối ưu là những phương pháp nhằm làm giảm công việc của vid tuy chất lượng hình ảnh có giảm đi đôi chút.

    1) Tối ưu theo góc : (Angle-dependant anisotropic filtering)
    Tối ưu này chỉ dành cho những bộ lọc có sử dụng phương pháp anisotropic .Mỗi texture trong 1 frame có 1 góc nhất định và tuỳ mỗi góc ta có thể sử dụng những mức lọc anisotropic mà vẫn cho hình ảnh đẹp ( từ 2x đến 16x ). Ví dụ như nếu texture nằm ở vị trí 90 độ thì vid card sẽ tự điều chỉnh mức lọc tại texture đó lên 16x ,texture khác lại nằm ở vị trí 45 độ, khi đó nó sẽ nhận mức lọc 8x….
    Việc sử dụng phương pháp tối ưu này giảm tải cho vid card rất nhiều vì nó không phải lọc 16x ở tất cả các texture và kết quả lượng bandwidth dành cho công việc lọc này giảm đi đáng kể .

    2) Brilinear /Trylinear: ( Trilinear optimization )
    Bộ lọc này kết hợp giữa 2 bộ lọc bilinear và trilinear ,trong đó vid card sẽ phân tích và xác định ra những vùng nào trong 1 frame không cần đến bộ lọc trilinear mà chỉ cần bilinear là đủ .
    Bộ lọc này đã được Ati giới thiệu lần đầu tiên ở dòng RV350, hiện nay mọi dòng card này đều sử dụng nó .

    3) Tối ưu theo lớp texture : (Texture stage optimizations )
    Như ta đã biết ,mỗi 1 vật không phải chỉ được phủ 1 lớp texture mà được kết hợp bởi nhiều lớp, mỗi lớp này đều cần phải lọc và thường chỉ có lớp texture đầu tiên thừơng mới được thể hiện ( visible ) .Tuy nhiên 1 số game ( UT2003 ) và 1 số ứng dụng thì có những lớp khác cũng được thể hiện cùng với lớp thứ 1 .Để làm giảm công việc cho vid các người ta chỉ sử dụng các bộ lọc cao cấp ( trilinear / Brilinear ) cho lớp đầu tiên ,còn những lớp còn lại sử dụng các bộ lọc thấp hơn ( bilinear ).
    Tuy còn rất nhiều các tối ưu khác nhưng Rock không muốn nhắc đến trong bài này vì không cần thiết lắm.

    III. Cách so sánh chất lượng hình ảnh :

    Trước khi đi vào so sánh ,mọi người cần chú ý đến vài điểm :
    + Để thay đổi các bộ lọc khác nhau của vid mình thì bạn cần vào phần setting performance & quality setting --> image setting --> sau đó chọn : High performance ,performance ,quality ,high quality ,mỗi một mức sẽ sử dụng các bộ lọc khác nhau hoặc mức tối ưu khác nhau ( tuỳ card ) .Ví dụ ở vid 7300GT thì ở HP và performance thì sẽ sử dụng bộ lọc bilinear còn ở quality và HQ sẽ sử dụng bộ lọc Brilinear .Vào phần AF setting để set phương pháp lọc anisotropic cho min filter ,khi set AF ( từ 2x  16x ) ta sẽ có bộ lọc bilinear anisotropic hoặc trinear anisotropic tuỳ lúc nãy ta set HP ,performance ,quality hay HQ .
    +HIện tại các nhà sản xuất vid hầu như đều sẽ dụng bilinear là bộ lọc df cho mỗi vid nên sẽ không có bộ lọc nào tệ hơn nữa và true trilinear ( trilinear mà không sử dụng bất cứ phương pháp tối ưu nào ) sẽ cho hình ảnh đẹp nhất.
    +Giữa bộ lọc bilinear và trilinear khi ta xem trên 1 hình tĩnh ( hình đứng yên ) thì ta sẽ rất khó phân biệt được .( chỉ có thể phân biệt qua color mipmap hoặc khi di chuyển trong game )

    [​IMG]
    + So sánh chất lượng hình ảnh giữa 2 dòng card chủ yếu ta so sánh cả 2 ở HQ mode, HQ mode + AF và HQ mode AF + AA. Việc so sánh ở đây chẳng qua là xem vid nào sử dụng nhiều phép tối ưu cho các bộ lọc ,sử dụng càng nhiều phép tối ưu hình ảnh càng kém chất lượng hơn.

    Nhận biết Bilinear ,Brilinear và Trilinear qua color mipmap :

    + Nhìn hình post ở trên ( hình có color mipmap ) ta thấy bilinear do không lọc trên các mức mipmap do đó sự chuyển tiếp giữa các mipmap lộ rõ trên mặt đất ,ở color mipmap ta thấy sự chuyển tiếp giữa các màu ( mỗi màu là 1 mức mipmap ) rất thô ráp ,gần như không có mức trung chuyển giữa màu xanh và màu đỏ. Ngược lại ở brilinear và trilinear mức trung chuyển này thực hiện 1 cách từ từ ,tuy nhiên ở brilinear mức trung chuyển này ít hơn ở trinear ( do nó có sử dụng phép tối ưu )
    + Việc so sánh giữa Bilinear ,Brilinear và Trilinear có thể được thực hiện bằng cách dùng soft để record lại 1 đoạn film .
    + Những vid nào sử dụng bilinear sẽ cho hình ảnh kém chất lượng hơn những vid dùng brilinear và những vid dùng phép tối ưu cho trilinear sẽ cho hình ảnh kém hơn những vid dùng true trilinear.

    So sánh AF dựa vào color mipmap :

    + Khi so sánh ta set image setting ở HQ mode, driver sẽ bỏ đi phần lớn phương pháp tối ưu ,việc này sẽ dẫn đến các texture sẽ được lọc ở mức anisotropic cao hơn ,do đó các texture trở nên rõ ràng hơn .Những vid nào cho phép bỏ nhiều phép tối ưu là những vid cho hình ảnh đẹp hơn những vid còn lại .Nhìn hình dưới ,những vid nào cho hình ảnh “hoa” như vậy là những vid sử dụng tối ưu theo góc rất nhiều, ngoài ra ta thấy ở những cánh của bông hoa như có “gai” điều này chứng tỏ ở các góc tương ứng vid lọc với mức anisotropic thấp.

    [​IMG]
     
    :
  2. Rockie

    Rockie New Member

    Bài viết:
    237
    [​IMG]
    Ngược lại hoàn toàn với hình trên ,hình ảnh này do 8800 thể hiện ,hình tròn gần như hoàn hảo ,các góc của “hình tròn” không có hiện tượng “gai” như bộ lọc của 7950x2 thể hiện.

    So sánh AF dựa vào screenshot:


    + Khi so sánh trên screenshot để xác định vid nào có sử dụng ít phép tối ưu ít hơn ta dựa vào mức độ mờ nhạt của các texture trên hình .Do AF được set cho min filter ( lọc ở những texture xa ) và thể hiện rõ ràng ở những texture nằm trên vật tạo với monitor thành 1 góc ( nghĩa là không nằm đối diện với monitor ) .

    +Ta nên lựa chọn những bức hình có bức tường hoặc con đường để dễ so sánh ( nhất là những bước tường nằm nghiêng hay những con đường dốc ) những texture trên bức tường nếu bị mờ nhạt chứng tỏ vid đó đã sử dụng anisotropic thấp ở góc đó .

    [​IMG]
    IV. Một số soft để so sánh chất lượng hình ảnh :


    +Hiện tại Rock đang sử dụng D3dAFtester và 3mark05 để so sánh .
    [​IMG]
    + Trứơc khi vào các soft này các bạn vào phần image setting để set mức hình ảnh đẹp nhất ( HQ mode ) sau đó mới vào soft .

    - F1 : có tác dụng làm hạ thanh Filtering & antialiasing setting xuống để ta dễ nhìn, khi hạ xuống ta vẫn có thể điều chỉnh các setting ( nếu ta nhớ được hotkey )
    -F2 để bật color mipmap lên
    -F3 để chọn loại texture
    -F4 để chọn hình dạng của vật được dán texture
    -F5,F6,F7 ( các bạn nên đọc lại phần “ Các bộ lọc trong thực hành” ở phía trên để biết cách tinh chỉnh phần này )
    +Ngoài ra D3DAFtester cho phép điều chỉnh tương tự 3dmark (có lẽ Rock sẽ viết tiếp vào dịp khác).
    Source :
    http://www.elitebastards.com
    http://www.pcworld.com.vn
    http://www.anandtech.com
    http://www.tomshardware.com
    http://www.beyond3d.com
    http://www.hardocp.com
    http://msdn2.microsoft.com
    http://encyclopedia.thefreedictionary.com
    http://www.rage3d.com
     
  3. Kinkin

    Kinkin Đại Tá - Quậy Phá Thành viên BQT

    Bài viết:
    1,531
    Nơi ở:
    Tử cấm thành
    Mod ơi! Ngoài chuyện comment threat này, nếu như mem dùng những hình ảnh thu đc từ VGA của mình có thể post lên đây để so sánh đc kô? Sorry nếu như comment này kô hợp lệ Mod delete hộ cái nhé!!
    Good Job!!!
     
  4. Rockie

    Rockie New Member

    Bài viết:
    237
    Được thôi ,đây là forum các bro cứ thảo luận tự nhiên nhưng đừng đưa đến flame và offtopic đc rùi
     
  5. enilyruf

    enilyruf ۞ ƊĬƋßŁΘ ۞

    Bài viết:
    878
    Nơi ở:
    Keyboard
    khúc mipmap này có vẻ chưa đủ , tấm hình bro lấy chỉ đúng với các texture phủ lên vật thể ở trước mặt thôi

    tui có đọc qua ở đâu đó là các chiều của texture bị thu nhỏ dựa trên góc nhìn , texture chỉ đạt full ratio khi nhìn thẳng vào về mặt được phủ ,

    cụ thể ở đây là nếu đứng nhìn thẳng về phía trước thì các texture trên mặt đất sẽ bị thu nhỏ dần dần cộng với giảm ½ chiều cao ở LOD1 và ¼ ở LOD2 như hình bên dưới :

    [​IMG]


    tất nhiên sẽ theo khoảng cách xa dần thì các texture không "nhảy cái đùng" xuống ½ ngay mà sẽ được thu nhỏ lại từ từ nên artifact nhìn thấy ở LOD2 cũng giảm đáng kể
    lời lẽ hơn lan man ko biết bro Rockie có hiểu tui ko :capcuu: , đại để như hình chiếu của tờ giấy đó
     
  6. Rockie

    Rockie New Member

    Bài viết:
    237
    Ừ bro nói đúng ,caí này gọi là nonuniform mipmap hay còn gọi là Ripmap ,tuy nhiên nếu giới thiệu nhiêù vấn đề cùng lúc như thế chỉ sợ 1 số người sẽ không hiểu.
     

Chia sẻ trang này