Image Processing ตอน เริ่มต้น
ว่าจะเขียนรีวิว video capture card สองรุ่น คือ adlink RTV-24 ซึ่งทาง WJ technology ได้ให้ยืมมาลองเล่น กับ ของเพื่อนป้อมแห่ง maxmega ซึ่งมาเป็นชุด กับ บอร์ด mini-itx ของ via รุ่น VB8001 ซึ่งมีสล็อต mini-pci อยู่บนบอร์ดจึงจับคู่กับ capture card ของ yuan รุ่น sc290 มา ทั้งสองตัวต่างมีจุดเด่นต่างกัน โดย เจ้า RTV-24 นั้นให้เอาท์พุตได้ 4 channel เต็มขนาด D1(PAL/NTSC) เฟรมเรท 25/30 ต่อ channel ส่วนของ yuan รุ่นนี้มาเล็กหน่อย เน้นที่การบันทึกและเข้ารหัสแบบ H.264 ได้พร้อมๆกันถึง 4 channel ไม่ต้องเปลืองแรง CPU ส่วนการแสดงผลแบบ analog นั้นทำได้ที่ขนาด CIF ต่อ channel โดยสามารถดูได้พร้อมๆกันทั้งสี่แชนแนล ซึ่งก็เพียงพอกับการใช้มอนิเตอร์ ก็คงเหมาะกับเอาไปทำเครื่อง DVR นั่นเอง
ก็พูดให้ฟัง เกริ่นกันคร่าวๆ เดี๋ยวจะไม่ได้เริ่มเขียนสักทีหากทิ้งให้เนิ่นนานไปจน เค้าขอคืนฮาร์ดแวร์ไปหมด ฮา
แต่จะรีวิวทั้งที ก็ให้มันดูมีน้ำมีเนื้อขึ้นมาหน่อยดีกว่า ไม่ใช่แค่เอาภาพขึ้นมาดูกันเฉยๆ ไหนๆก็ซื้อการ์ดจอรุ่นใหญ่มาแล้ว เอาสองเรื่องมาจับรวมเป็นเรื่องเดียวซะเลย ฮา ก็กะว่าจะเอาภาพวิดิโอที่ได้มาผ่านอัลกอริทึมบางตัว เช่น deinterlacing หรือ พวก filter ต่างๆ โดยจะลองเปรียบเทียบว่าการใช้ cpu ประมวลผล กับการใช้ gpu (ชิปประมวลผลกราฟิก) อันไหนให้ผลเป็นอย่างไร กันบ้าง อะไรประมาณนี้
เริ่มที่ฮาร์ดแวร์ก่อนละกัน
ตัวนี้ละครับ หน้าตาดีสมเป็น industrial grade (และราคาด้วย อิอิ) ที่น่าสนใจและทำให้ผมชอบก็คือ คู่มือที่มากับการ์ด ชัดเจนละเอียดครบถ้วนรวมทั้งด้าน programming บนวินโดวส์และลินุกส์ ผิดกับของ Euresys ที่ไม่มีมาให้เลย ให้ไปดาวน์โหลดกันเอาเอง(อันนี้อ้างอิงจากแพคเกจที่ได้รับมาทดลองจาก WJ Technology นะครับ ก็ขอขอบคุณมา ณ ที่นี้ด้วย) ขอพูดถึงบนลินุกส์อย่างเดียวละกันครับเพราะเชื่อว่าโปรดักส์ระดับนี้แต่ละตัวออกมาเพื่อรองรับบนวินโดวส์ได้ดีไม่ต่างกัน
การลงและคอนฟิก driver ทำได้ง่ายดาย การเขียนโปรแกรมรองรับ Video for Linux ทำให้ใช้งานได้หลากหลาย ซึ่งตรงนี้ขอเปรียบเทียบกับ Euresys รุ่นเทียบเคียงกัน คือ Tetra ที่มี interface แบบ PCI 64 bit ไม่ต้องตกใจครับ มันก็ใส่ใน slot PCI 32 bit ได้เช่นกัน ตอนแรกผมก็งงอยู่เหมือนกัน แต่ที่ไม่ค่อยเข้าใจคือ euresys พยายามไม่ support V4L แต่ให้ใช้ driver และ API ที่ทางทำ Euresys ทำขึ้น น่าจะเป็นเพราะเพื่อให้เข้ากันได้กับ library ต่างๆ ที่ทาง Euresys ทำขึ้นมาจำหน่ายด้วย อันนี้เดาเอานะครับ แต่อย่างไรก็ดี Tetra รุ่นนี้ก็ support V4L ครับ เราสามารถหาข้อมูลมาคอนฟิกมันได้ และใช้ได้เหมือนๆกับของ Adlink ละครับ


ชุดต่อมาก็คือ VB8001 จับคู่มากับ Yuan SC290 คู่นี้ต้องพึ่งเพื่อนป้อมกับทาง VIA และ Yuan เยอะหน่อยกว่าจะใช้งานเพื่อทดสอบได้ ก็ขอขอบคุณทาง ป้อม ณ Maxmega เช่นกันครับ
การ์ด capture ตัวนี้สามารถ preview และบันทึกในรูปแบบ H.264 ได้ 4 แชนแนลพร้อมๆกัน ทั้งภาพและเสียง ไม่เลวเลยทีเดียวในราคาระดับนี้ สามารถจับคู่กับ บอร์ดตัวนี้ได้ดีพอสมควร การ preview รองรับ V4L ข้อสังเกตคงมีเพียง ในการบันทึกนั้นอาจจะต้องเขียนโปรแกรมบ้างไม่สามารถใช้โปรแกรมทั่วไปได้เนื่องจาก data frame ที่ได้มี custom header เพิ่มเข้ามา 4 ไบต์ ต้องตัดออกก่อนบันทึก เพื่อให้สามารถ playback ได้จากโปรแกรมทั่วไป ซึ่งผมว่าไม่น่าทำนะ ถ้าเน้นระดับล่าง คือ ราคาประหยัดก็น่าที่จะทำให้ใช้งานกับโปรแกรมทั่วไปได้โดยง่าย เพื่อลูกค้าทั่วไปได้ใช้งานสะดวกๆ อย่างไรก็ดี โปรแกรมตัวอย่างที่ทำมาให้ ก็สามารถใช้งานได้ดีในระดับหนึ่งอยู่แล้วนะครับ ข้อสังเกต จากการทดสอบก็คือ ทำไมไฟล์ที่ได้มีขนาดใหญ่จัง ผมนึกว่าเป็น H.264 แล้วจะเล็กกว่านี้ ด้วยขนาดของภาพที่ half D1 จากตามเสป็คบอกว่าได้ถึง D1 แต่โปรแกรมตัวอย่างทำได้แค่นั้น ก็อาจจะต้องปรึกษากับทาง Yuan กันดูต่อไป แต่โดยรวมก็โอเคดีทีเดียวครับ
จบในส่วนของฮาร์ดแวร์ เฮ้อ เหนื่อยอีกแล้ว ไว้ต่อคราวหน้าครับ อิอิ
*** อัพเดตกันหน่อยครับ ก็ทำได้แล้วนะครับ สำหรับ yaun ปรากฏว่า เป็นเพราะตัว source code ของโปรแกรมตัวอย่างนั่นเองครับ พอสอบถามทางผู้ผลิตก็ได้รับข้อมูลมาแก้ไขเรียบร้อย ไม่มีปัญหาแล้ว อีกอย่างหนึ่งก็คือ
ก็พูดให้ฟัง เกริ่นกันคร่าวๆ เดี๋ยวจะไม่ได้เริ่มเขียนสักทีหากทิ้งให้เนิ่นนานไปจน เค้าขอคืนฮาร์ดแวร์ไปหมด ฮา
แต่จะรีวิวทั้งที ก็ให้มันดูมีน้ำมีเนื้อขึ้นมาหน่อยดีกว่า ไม่ใช่แค่เอาภาพขึ้นมาดูกันเฉยๆ ไหนๆก็ซื้อการ์ดจอรุ่นใหญ่มาแล้ว เอาสองเรื่องมาจับรวมเป็นเรื่องเดียวซะเลย ฮา ก็กะว่าจะเอาภาพวิดิโอที่ได้มาผ่านอัลกอริทึมบางตัว เช่น deinterlacing หรือ พวก filter ต่างๆ โดยจะลองเปรียบเทียบว่าการใช้ cpu ประมวลผล กับการใช้ gpu (ชิปประมวลผลกราฟิก) อันไหนให้ผลเป็นอย่างไร กันบ้าง อะไรประมาณนี้
เริ่มที่ฮาร์ดแวร์ก่อนละกัน
Adlink RTV-24 PCIe
การลงและคอนฟิก driver ทำได้ง่ายดาย การเขียนโปรแกรมรองรับ Video for Linux ทำให้ใช้งานได้หลากหลาย ซึ่งตรงนี้ขอเปรียบเทียบกับ Euresys รุ่นเทียบเคียงกัน คือ Tetra ที่มี interface แบบ PCI 64 bit ไม่ต้องตกใจครับ มันก็ใส่ใน slot PCI 32 bit ได้เช่นกัน ตอนแรกผมก็งงอยู่เหมือนกัน แต่ที่ไม่ค่อยเข้าใจคือ euresys พยายามไม่ support V4L แต่ให้ใช้ driver และ API ที่ทางทำ Euresys ทำขึ้น น่าจะเป็นเพราะเพื่อให้เข้ากันได้กับ library ต่างๆ ที่ทาง Euresys ทำขึ้นมาจำหน่ายด้วย อันนี้เดาเอานะครับ แต่อย่างไรก็ดี Tetra รุ่นนี้ก็ support V4L ครับ เราสามารถหาข้อมูลมาคอนฟิกมันได้ และใช้ได้เหมือนๆกับของ Adlink ละครับ
ชุดต่อมาก็คือ VB8001 จับคู่มากับ Yuan SC290 คู่นี้ต้องพึ่งเพื่อนป้อมกับทาง VIA และ Yuan เยอะหน่อยกว่าจะใช้งานเพื่อทดสอบได้ ก็ขอขอบคุณทาง ป้อม ณ Maxmega เช่นกันครับ
การ์ด capture ตัวนี้สามารถ preview และบันทึกในรูปแบบ H.264 ได้ 4 แชนแนลพร้อมๆกัน ทั้งภาพและเสียง ไม่เลวเลยทีเดียวในราคาระดับนี้ สามารถจับคู่กับ บอร์ดตัวนี้ได้ดีพอสมควร การ preview รองรับ V4L ข้อสังเกตคงมีเพียง ในการบันทึกนั้นอาจจะต้องเขียนโปรแกรมบ้างไม่สามารถใช้โปรแกรมทั่วไปได้เนื่องจาก data frame ที่ได้มี custom header เพิ่มเข้ามา 4 ไบต์ ต้องตัดออกก่อนบันทึก เพื่อให้สามารถ playback ได้จากโปรแกรมทั่วไป ซึ่งผมว่าไม่น่าทำนะ ถ้าเน้นระดับล่าง คือ ราคาประหยัดก็น่าที่จะทำให้ใช้งานกับโปรแกรมทั่วไปได้โดยง่าย เพื่อลูกค้าทั่วไปได้ใช้งานสะดวกๆ อย่างไรก็ดี โปรแกรมตัวอย่างที่ทำมาให้ ก็สามารถใช้งานได้ดีในระดับหนึ่งอยู่แล้วนะครับ ข้อสังเกต จากการทดสอบก็คือ ทำไมไฟล์ที่ได้มีขนาดใหญ่จัง ผมนึกว่าเป็น H.264 แล้วจะเล็กกว่านี้ ด้วยขนาดของภาพที่ half D1 จากตามเสป็คบอกว่าได้ถึง D1 แต่โปรแกรมตัวอย่างทำได้แค่นั้น ก็อาจจะต้องปรึกษากับทาง Yuan กันดูต่อไป แต่โดยรวมก็โอเคดีทีเดียวครับ
จบในส่วนของฮาร์ดแวร์ เฮ้อ เหนื่อยอีกแล้ว ไว้ต่อคราวหน้าครับ อิอิ
*** อัพเดตกันหน่อยครับ ก็ทำได้แล้วนะครับ สำหรับ yaun ปรากฏว่า เป็นเพราะตัว source code ของโปรแกรมตัวอย่างนั่นเองครับ พอสอบถามทางผู้ผลิตก็ได้รับข้อมูลมาแก้ไขเรียบร้อย ไม่มีปัญหาแล้ว อีกอย่างหนึ่งก็คือ
No comments:
Post a Comment