นี่คือคำสั่ง y4mdenoise ที่สามารถเรียกใช้ในผู้ให้บริการโฮสติ้งฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
y4mdenoise - ชดเชยการเคลื่อนไหว YUV4MPEG-frame denoiser
เรื่องย่อ
y4mดีนอยส์ [-v ฟุ่มเฟื่อย] [-p ความเท่าเทียม] [-r การเคลื่อนไหว-search_radius] [-R color_motion-
ค้นหา_รัศมี] [-t error_tolerance] [-T color_error_tolerance] [-z
zero_motion_error_tolerance] [-Z color_zero_motion_error_tolerance] [-m จับคู่-
count_คันเร่ง] [-M ตรง size_throttle] [-f อ้างอิง_เฟรม] [-B] [-I พัวพัน_type]
</dev/stdin > /dev/stdout
DESCRIPTION
y4mดีนอยส์ สามารถใช้เพื่อขจัดสัญญาณรบกวนจากภาพในสตรีม YUV4MPEG2 มีประโยชน์
สำหรับทำความสะอาดแหล่งสัญญาณเก่าเพื่อเพิ่มคุณภาพวิดีโอ และลดบิตเรตที่จำเป็นถึง
เข้ารหัสวิดีโอของคุณ (เช่น สำหรับการสร้าง VCD และ SVCD)
วิธีการ IT WORKS
จะเก็บรายการของหลายเฟรมล่าสุด เรียกว่าเฟรมอ้างอิง การอ้างอิงแต่ละครั้ง
กรอบประกอบด้วยพิกเซลอ้างอิง ทุกครั้งที่มีการพิสูจน์ว่าพิกเซลในหนึ่งเฟรมเป็น a
ย้ายอินสแตนซ์ของพิกเซลในอีกเฟรมหนึ่ง พิกเซลอ้างอิงรวมค่าของมัน
และสร้างค่าเฉลี่ยสำหรับอินสแตนซ์ทั้งหมดของพิกเซล กรอบอ้างอิงที่เก่าแก่ที่สุด
ดังนั้นจึงได้แนวคิดที่ดีเกี่ยวกับมูลค่าที่แท้จริงของทุกๆ พิกเซล แต่ผลลัพธ์ที่ได้แน่นอน
ล่าช้าตามจำนวนหน้าต่างอ้างอิง
การค้นหาไม่ได้ทำจริงครั้งละหนึ่งพิกเซล มันทำในแง่ของกลุ่มพิกเซล
กลุ่มพิกเซลทั้งหมดต้องจับคู่เพื่อให้พบการจับคู่ใด ๆ แต่พิกเซลที่เป็นไปได้ทั้งหมด-
มีการทดสอบกลุ่ม (เช่น มีการตรวจสอบชุดค่าผสมที่ทับซ้อนกันที่เป็นไปได้ทั้งหมด) ใช้พิกเซล-
กลุ่มต่างๆ ช่วยสร้างมาตรฐานขั้นต่ำสำหรับสิ่งที่ถือว่าเข้าคู่กันตามลำดับ
เพื่อหลีกเลี่ยงการหาคู่ที่เล็กมาก (และไร้ประโยชน์จริงๆ) มากมาย ปัจจุบันความเข้มข้น
กลุ่มพิกเซลคือ 4x2 (เช่น 4 ข้ามและ 2 ด้านล่าง) และกลุ่มพิกเซลสีคือ 2x2
เปรียบเทียบทุกกลุ่มพิกเซลในเฟรมปัจจุบันกับกลุ่มพิกเซลทั้งหมดในเฟรมก่อนหน้า
เฟรมภายในรัศมีการค้นหาที่กำหนด และจัดเรียงตามความใกล้เคียงของการจับคู่
รักษาผู้แข่งขันชั้นนำ จากนั้นน้ำท่วมเติมแต่ละกลุ่มพิกเซลที่พบในทางกลับกันเพื่อ
กำหนดขนาดเต็มของการแข่งขัน นัดแรกที่พบว่ามีขนาดใหญ่พอถูกนำไปใช้
ไปที่รูปภาพ จำนวนผู้เข้าแข่งขันที่ต้องพิจารณา และขนาดขั้นต่ำของการแข่งขัน สามารถ
ระบุไว้ในบรรทัดคำสั่ง
ที่ส่วนท้ายของเฟรม พิกเซลเฟรมใหม่ที่ยังไม่ได้รับการแก้ไขจะถือว่าเป็นพิกเซลใหม่
ข้อมูลและพิกเซลอ้างอิงใหม่จะถูกสร้างขึ้นสำหรับแต่ละรายการ
"zero-motion pass" เกิดขึ้นในแต่ละเฟรม ก่อนการตรวจจับการเคลื่อนไหว เพื่อพยายามแก้ไข
ที่สุดของเฟรมราคาถูก สามารถตั้งค่าความคลาดเคลื่อนของข้อผิดพลาดแยกกันได้
OPTIONS
y4mดีนอยส์ ยอมรับตัวเลือกต่อไปนี้:
-v [0] ฟุ่มเฟื่อย
0 = ไม่มี, 1 = ปกติ (ผลรวมการตรวจจับพิกเซลต่อเฟรม), 2=ดีบัก
-p NUM
ควบคุมระดับความขนาน เนื่องจากความเข้มและสีถูกแยกออกต่างหาก
ด้วยการออกแบบ มันง่ายมากที่จะทำแต่ละอย่างควบคู่กันบนเครื่องที่มีโปรเซสเซอร์หลายตัว NS
ค่าเริ่มต้นคือ 1; ที่อ่านและเขียนเฟรมวิดีโอควบคู่ไปกับการลดทอน NS
ค่า 2 จะทำให้ความเข้มและสีลดลงขนานกัน ค่า 3 ไม่
การทำงานพร้อมกันทั้งสองประเภท ค่า 0 จะปิดการทำงานพร้อมกันทั้งหมด
-r [4..] ค้นหา รัศมี
รัศมีการค้นหา คือ ระยะทางสูงสุดที่พิกเซลเคลื่อนที่ได้และยังพบอยู่
โดยการตรวจจับการเคลื่อนไหว ค่าเริ่มต้นคือ 16 ไม่มีข้อจำกัดเฉพาะใน
รัศมีการค้นหา เช่น ไม่จำเป็นต้องเป็นทวีคูณของ 4
-R [4..] สี ค้นหา รัศมี
รัศมีการค้นหาที่จะใช้สำหรับสี ค่าเริ่มต้นคือสิ่งที่รัศมีการค้นหาหลักเคยเป็น
ตั้งค่าให้. โปรดทราบว่าค่านี้จะถูกปรับขนาดตามขนาดสัมพัทธ์ของความเข้ม
และระนาบสีในสตรีม YUV4MPEG2 ของคุณ
-t [0] ความผิดพลาด ความอดทน
ความแตกต่างที่ใหญ่ที่สุดระหว่างสองพิกเซลที่ยอมรับสำหรับสองพิกเซลที่จะ
ถือว่าเท่าเทียมกัน ค่าเริ่มต้นคือ 3 ซึ่งดีสำหรับวัสดุที่มีเสียงรบกวนปานกลางเช่น
เคเบิลทีวีแบบแอนะล็อก (ค่านี้จะต้องเปลี่ยนเป็นค่าที่เหมาะสมกับ
สตรีม YUV4MPEG2 ของคุณเพื่อหลีกเลี่ยงผลลัพธ์ที่ไม่พึงประสงค์ ดูคำแนะนำ
ด้านล่าง)
-T [0] ความผิดพลาด ความอดทน for สี
ค่าดีฟอลต์คือสิ่งที่กำหนดความทนทานต่อข้อผิดพลาดหลักไว้
-z [0] ความผิดพลาด ความอดทน for ไม่มีการเคลื่อนไหว ส่ง
ค่าเผื่อข้อผิดพลาดที่ใช้กับพิกเซลที่ยังไม่ได้ย้าย มักจะเท่ากับหลัก
ค่าเผื่อข้อผิดพลาดหรือน้อยกว่านั้น ค่าเริ่มต้นคือ 2
-Z [0] ความผิดพลาด ความอดทน for สี ไม่มีการเคลื่อนไหว ส่ง
ค่าดีฟอลต์คือสิ่งที่ตั้งค่าความทนทานต่อข้อผิดพลาดของการเคลื่อนไหวเป็นศูนย์หลักไว้
-m [จำนวน] การแข่งขันนับ เค้น
จำนวนสูงสุดของการจับคู่กลุ่มพิกเซล (ภายในรัศมีการค้นหา) ที่จะต้องพิจารณา ถ้า
พบมากขึ้นเฉพาะรายการที่ใกล้เคียงที่สุดเท่านั้น ค่าเริ่มต้นคือ 15
-M [จำนวน] ตรงกับขนาด เค้น
ขนาดขั้นต่ำของพื้นที่น้ำท่วมที่เกิดจากการจับคู่ จับคู่เล็กลง
กว่านี้ก็โยนทิ้งไป ระบุในแง่ของกลุ่มพิกเซล ค่าเริ่มต้นคือ 3
-f NUM
จำนวนหน้าต่างอ้างอิงที่จะเก็บไว้ ค่าพิกเซลมีค่าเฉลี่ยมากกว่าจำนวนนี้
เฟรมก่อนที่จะเขียนลงในเอาต์พุตมาตรฐาน นี่ยังหมายความว่าผลลัพธ์คือ
ล่าช้าโดยหลายเฟรมนี้ ค่าเริ่มต้นคือ 10
-B โหมดขาวดำ. ตัดเฉพาะระนาบความเข้ม และตั้งค่าระนาบสีเป็น
สีขาวทั้งหมด
-I NUM
ตั้งค่าประเภทการประสาน ค่าเริ่มต้นจะถูกนำมาจากสตรีม YUV4MPEG2 0 หมายถึงไม่
อินเทอร์เลซ 1 หมายถึงอินเทอร์เลซบนฟิลด์ 2 หมายถึงอินเทอร์เลซฟิลด์ล่าง นี่คือ
มีประโยชน์เมื่อสัญญาณมีความเป็นธรรมชาติมากกว่าประเภทอินเทอร์เลซอื่น ๆ มากกว่า
การแสดงปัจจุบัน (เช่น ถ้าต้นฉบับถูกถ่ายทำบนแผ่นฟิล์มแล้วหลังจากนั้นก็เป็น
ถ่ายโอนไปยังวิดีโอแบบอินเทอร์เลซ จะดีกว่าถ้าทำเป็นฟิล์ม กล่าวคือ ไม่ใช่
อินเทอร์เลซ)
ทั่วไปของ การใช้ AND TIPS
โปรดทราบว่าคำแนะนำทั้งหมดนี้ได้มาจากประสบการณ์ (เพียงเพราะหนึ่ง
เขียนเครื่องมือไม่ได้หมายความว่าเข้าใจวิธีใช้งาน ด้วยเหตุผลเดียวกับที่
นักออกแบบรถยนต์ไม่จำเป็นต้องเป็นนักขับมืออาชีพ)
ต้องกำหนดขีดจำกัดข้อผิดพลาดสำหรับสตรีม YUV4MPEG2 แต่ละรายการ ถ้า
ตั้งขีดจำกัดไว้ต่ำเกินไป มันจะทิ้งนอยส์ไว้ในวิดีโอ และตัวดีนัวเซอร์จะทำงานเยอะมาก
ช้ากว่าที่ควรจะเป็น หากตั้งค่าไว้สูงเกินไป ตัวลดสัญญาณจะเริ่มลบรายละเอียด:
วิดีโอจะเบลอมากขึ้น คุณอาจเห็นแถบที่มีลักษณะภูมิประเทศค่อนข้างแบนราบ
พื้นที่ของวิดีโอและส่วนเล็ก ๆ ของวิดีโอที่ควรเคลื่อนไหวจะติดอยู่ใน
สถานที่. นอกจากนี้ยังอาจทำงานช้าลงเล็กน้อย นอกจากนี้ เพียงเพราะวิดีโอมาถึงคุณ
จากแหล่งสัญญาณที่สะอาด (เคเบิลทีวีดิจิตอล LaserDisc ฯลฯ) ไม่ได้หมายความว่าตัววิดีโอเอง
ทำความสะอาด; y4mดีนอยส์ สามารถรับเสียงรบกวนในการบันทึกต้นฉบับได้เช่นกัน
ข้อผิดพลาดในการสุ่มตัวอย่างจากอุปกรณ์จับภาพวิดีโอ คุณจะต้องสร้างคลิปเล็ก ๆ ของ
ส่วนที่เป็นตัวแทนของวิดีโอของคุณ แยกส่วนเหล่านั้นด้วยเกณฑ์ข้อผิดพลาดต่างๆ และดู
สิ่งที่ดูดีที่สุด เมื่อคุณมีประสบการณ์กับเครื่องมือนี้แล้ว คุณอาจรู้ว่าข้อผิดพลาดอะไร
โดยทั่วไปเกณฑ์จะใช้ได้กับแหล่งที่มาประเภทต่างๆ แต่คุณยังต้องการเพิ่มเป็นสองเท่า
ตรวจสอบสมมติฐานของคุณ
พื้นผิวเรียบและมันวาว เช่น ผนังเคลือบเงา หรือพื้นไม้ขัดเงาภายในอาคาร
โรงยิม ดูเหมือนจะต้องการเกณฑ์ข้อผิดพลาดที่ต่ำกว่าวิดีโอประเภทอื่น
นี่คือประสบการณ์ของผู้เขียน:
-t 1: เคเบิลทีวีดิจิตอล, LaserDiscs ส่วนใหญ่, วิดีโอกล้อง DV
-t 2: วิดีโอจากกล้องวิดีโอ VHS, วิดีโอเทปที่ผลิตในเชิงพาณิชย์
-t 3: เคเบิลทีวีอนาล็อก, วิดีโอเทป VHS (ที่ความเร็ว 2 ชั่วโมง)
-t 4 : วิดีโอเทป VHS (ที่ความเร็ว 6 ชั่วโมง)
วิดีโอแบบอินเทอร์เลซที่สร้างจากวิดีโอที่ไม่อินเทอร์เลซ (เช่น วิดีโอเทปหรือ LaserDisc of
ฟิล์ม) จะต้องถูกกำจัดให้เป็นแบบไม่อินเทอร์เลซ มิฉะนั้นผลลัพธ์มักจะเป็นเม็ดเล็ก
y4mดีนอยส์ ขจัดเสียงชั่วขณะเท่านั้น กล่าวคือ เสียงที่เกิดขึ้นเมื่อเวลาผ่านไป และมีแนวโน้มที่จะ
ทำหน้าที่นี้ให้ดีเสียจนเสียงเชิงพื้นที่ (เช่น เสียงที่เกิดขึ้นในพื้นที่ใกล้เคียง
ของกรอบเดียวกัน) มีแนวโน้มที่จะแตกต่างออกไปมาก ดังนั้น ไปป์เอาต์พุตของ . เสมอ
y4mดีนอยส์ ผ่านตัวกรองเชิงพื้นที่เช่น y4mpatialfilter or ยูฟมีเดียนฟิลเตอร์.
เมื่อสร้างวิดีโอที่มีอัตราบิตต่ำมาก (เช่น วิดีโอที่รองรับ VCD น้อยกว่า 900 kbps)
ลดขนาดเฟรมเอาต์พุต เช่น ไม่ลดขนาดเฟรมดีวีดีแล้วลดขนาดเป็น
ขนาดวีซีดี ที่จะปฏิเสธและปรับสภาพวิดีโอสำหรับส่วนการตรวจจับการเคลื่อนไหว
of mpeg2enc. การไม่ทำเช่นนี้จะทำให้วิดีโอมีฉากที่ดูซับซ้อนน้อยลง
ดีจริงๆ แต่ฉากที่มีการเคลื่อนไหวสูงจะเบลออย่างเห็นได้ชัด
การบีบอัด JPEG ของเฟรมวิดีโอของคุณ แม้จะบีบอัด 100% ก็ดูเหมือนจะไม่ถูกต้อง
เพียงพอที่จะส่งผลต่อการเข้ารหัส MPEG ดังนั้น หากคุณใช้ไฟล์ Motion-JPEG เป็นไฟล์ของคุณ
รูปแบบวิดีโอตัวกลาง คุณอาจต้องการใช้ denoiser ในการเข้ารหัส MPEG ของคุณ
ไปป์ไลน์คือหลังจาก lav2yuv และก่อน mpeg2enc. หากคุณกำลังสร้างหลาย ๆ
ความละเอียดของวิดีโอเดียวกัน เช่น DVD และ VCD ประสบการณ์แสดงให้เห็นว่าเป็นที่ยอมรับของ
วิ่ง y4mดีนอยส์ ก่อน ยูฟ2ลาฟแต่คุณยังควรใช้ตัวกรองเชิงพื้นที่ (เช่น
y4mpatialfilter, ยูฟมีเดียนฟิลเตอร์) ในไปป์ไลน์การเข้ารหัส MPEG เพื่อพยายามทำให้ราบรื่น
สิ่งประดิษฐ์การเข้ารหัส JPEG
ใช้ y4mdenoise ออนไลน์โดยใช้บริการ onworks.net