อ่าน 19 นาที
การเข้ารหัสซอร์สโค้ดแบบกระจาย
การเข้ารหัสแหล่งข้อมูลแบบกระจาย ( DSC ) เป็นปัญหาสำคัญในทฤษฎีสารสนเทศและการสื่อสารปัญหา DSC เกี่ยวข้องกับการบีบอัดแหล่งข้อมูลหลายแหล่งที่มีความสัมพันธ์กันแต่ไม่ได้สื่อสารกัน
การเข้ารหัสซอร์สโค้ดแบบกระจาย
| ทฤษฎีสารสนเทศ |
|---|
การเข้ารหัสแหล่งข้อมูลแบบกระจาย ( DSC ) เป็นปัญหาสำคัญในทฤษฎีสารสนเทศและการสื่อสารปัญหา DSC เกี่ยวข้องกับการบีบอัดแหล่งข้อมูลหลายแหล่งที่มีความสัมพันธ์กันแต่ไม่ได้สื่อสารกัน[ 1 ] โดยการจำลองความสัมพันธ์ระหว่างแหล่งข้อมูลหลายแหล่งที่ฝั่งตัวถอดรหัสพร้อมกับรหัสช่องสัญญาณ DSC สามารถถ่ายโอนความซับซ้อนในการคำนวณจากฝั่งตัวเข้ารหัสไปยังฝั่งตัวถอดรหัสได้ จึงทำให้มีกรอบการทำงานที่เหมาะสมสำหรับแอปพลิเคชันที่มีผู้ส่งที่มีข้อจำกัดด้านความซับซ้อน เช่นเครือข่ายเซ็นเซอร์และการบีบอัดวิดีโอ/มัลติมีเดีย (ดูการเข้ารหัสวิดีโอแบบกระจาย[ 2 ] ) คุณสมบัติหลักประการหนึ่งของการเข้ารหัสแหล่งข้อมูลแบบกระจายคือภาระการคำนวณในตัวเข้ารหัสจะถูกถ่ายโอนไปยังตัวถอดรหัสร่วม
ประวัติศาสตร์
ในปี พ.ศ. 2516 David SlepianและJack Keil Wolf ได้เสนอขอบเขต การบีบอัดแบบไม่สูญเสียข้อมูลตามทฤษฎีสารสนเทศสำหรับการบีบอัดแบบกระจายของ แหล่ง ข้อมูลอิสระและ เหมือนกันสองแหล่งที่สัมพันธ์กัน X และ Y [ 3 ] หลังจากนั้น ขอบเขตนี้ได้รับการขยายไปยังกรณีที่มีแหล่งข้อมูลมากกว่าสองแหล่งโดยThomas M. Coverในปี พ.ศ. 2518 [ 4 ]ในขณะที่ผลลัพธ์ทางทฤษฎีในกรณีการบีบอัดแบบสูญเสียข้อมูลได้รับการนำเสนอโดยAaron D. WynerและJacob Zivในปี พ.ศ. 2519 [ 5 ]
แม้ว่าทฤษฎีบทเกี่ยวกับ DSC จะถูกเสนอในช่วงทศวรรษ 1970 แต่หลังจากนั้นประมาณ 30 ปี จึงเริ่มมีการพยายามพัฒนาเทคนิคเชิงปฏิบัติ โดยอิงจากแนวคิดที่ว่า DSC มีความเกี่ยวข้องอย่างใกล้ชิดกับการเข้ารหัสช่องสัญญาณที่เสนอโดยAaron D. Wynerใน ปี 1974 [ 6 ]ปัญหา DSC แบบไม่สมมาตรได้รับการแก้ไขโดย SS Pradhan และ K. Ramchandran ในปี 1999 ซึ่งมุ่งเน้นไปที่แหล่งกำเนิดไบนารีและเกาส์เซียนที่ขึ้นอยู่กันทางสถิติ และใช้ การสร้าง โคเซต แบบสเกลาร์และเทรลลิส เพื่อแก้ปัญหา[ 7 ]พวกเขายังขยายงานไปสู่กรณี DSC แบบสมมาตรอีกด้วย[ 8 ]
เทคโนโลยี การถอดรหัสซินโดรมถูกนำมาใช้ครั้งแรกในการเข้ารหัสแหล่งข้อมูลแบบกระจายโดย ระบบ DISCUSของ SS Pradhan และ K Ramachandran (Distributed Source Coding Using Syndromes) [ 7 ]พวกเขาบีบอัดข้อมูลบล็อกไบนารีจากแหล่งข้อมูลหนึ่งเป็นซินโดรมและส่งข้อมูลจากแหล่งข้อมูลอื่นโดยไม่บีบอัดเป็นข้อมูลเสริมแผนการ DSC ประเภทนี้ทำให้ได้อัตราการบีบอัดที่ไม่สมมาตรต่อแหล่งข้อมูลและส่งผลให้ DSC ไม่สมมาตรแผนการ DSC ที่ไม่สมมาตรนี้สามารถขยายไปยังกรณีที่มีแหล่งข้อมูลที่สัมพันธ์กันมากกว่าสองแหล่งได้อย่างง่ายดาย นอกจากนี้ยังมีแผนการ DSC บางแบบที่ใช้บิตพาริตีแทนบิตซินโดรม
ความสัมพันธ์ระหว่างแหล่งกำเนิดสองแหล่งใน DSC ได้รับการจำลองเป็นช่องสัญญาณเสมือนซึ่งโดยทั่วไปเรียกว่า ช่อง สัญญาณสมมาตรไบนารี[ 9 ] [ 10 ]
เริ่มต้นจากDISCUS , DSC ได้ดึงดูดกิจกรรมการวิจัยที่สำคัญและมีการนำเทคนิคการเข้ารหัสช่องสัญญาณที่ซับซ้อนมากขึ้นมาใช้ในเฟรมเวิร์ก DSC เช่นTurbo Code , LDPC Code และอื่นๆ การสร้างเมทริกซ์แบบเบาบางเป็นอีกแนวทางหนึ่งในทฤษฎีการเข้ารหัส: Muramatsu และ Miyake ได้แนะนำเฟรมเวิร์กคุณสมบัติแฮชสำหรับ กลุ่ม เมทริกซ์แบบเบาบางและการเข้ารหัสความน่าจะเป็นสูงสุด ซึ่งพิสูจน์ถึงความเป็นไปได้สำหรับการเข้ารหัส Wyner-Ziv และปัญหาการเข้ารหัสแหล่งที่มาที่เกี่ยวข้อง[ 11 ]
เช่นเดียวกับกรอบการเข้ารหัสแบบไม่สูญเสียก่อนหน้านี้ที่อิงตามทฤษฎีบท Slepian–Wolf ความพยายามได้ดำเนินการกับกรณีที่มีการสูญเสียโดยอิงตามทฤษฎีบท Wyner–Ziv ผลลัพธ์เชิงทฤษฎีเกี่ยวกับการออกแบบควอนไทเซอร์ได้รับการนำเสนอโดย R. Zamir และ S. Shamai [ 12 ]ในขณะที่กรอบการทำงานที่แตกต่างกันได้รับการเสนอโดยอิงตามผลลัพธ์นี้ รวมถึงควอนไทเซอร์แบบแลตติซซ้อนและควอนไทเซอร์แบบเข้ารหัสเทรลลิส
นอกจากนี้ DSC ยังถูกนำมาใช้ในการบีบอัดวิดีโอสำหรับแอปพลิเคชันที่ต้องการการเข้ารหัสวิดีโอที่มีความซับซ้อนต่ำ เช่น เครือข่ายเซ็นเซอร์ กล้องวิดีโอหลายมุมมอง และอื่นๆ[ 13 ]
ด้วยการอภิปรายเชิงกำหนดและเชิงความน่าจะเป็นของแบบจำลองความสัมพันธ์ของแหล่งข้อมูลสองแหล่งที่มีความสัมพันธ์กัน ได้มีการพัฒนารูปแบบ DSC ที่มีอัตราการบีบอัดทั่วไปมากขึ้น[ 14 ] [ 15 ] [ 16 ]ใน รูปแบบ ที่ไม่สมมาตร เหล่านี้ แหล่งข้อมูลทั้งสองแหล่งที่มีความสัมพันธ์กันจะถูกบีบอัด
ภายใต้สมมติฐานเชิงกำหนดบางอย่างเกี่ยวกับความสัมพันธ์ระหว่างแหล่งข้อมูล กรอบงาน DSC ที่สามารถบีบอัดแหล่งข้อมูลจำนวนใดก็ได้ในลักษณะกระจายได้รับการสาธิตโดย X. Cao และ M. Kuijper [ 17 ]วิธีนี้ทำการบีบอัดแบบไม่สมมาตรด้วยอัตราที่ยืดหยุ่นสำหรับแต่ละแหล่ง ทำให้ได้อัตราการบีบอัดโดยรวมเท่ากับการใช้ DSC แบบไม่สมมาตรซ้ำๆ กับแหล่งข้อมูลมากกว่าสองแหล่ง จากนั้น ด้วยการตรวจสอบความเชื่อมโยงเฉพาะระหว่างซินโดรมและรหัสเสริมของรหัสเชิงเส้น พวกเขาได้แปลขั้นตอนหลักของการถอดรหัสร่วม DSC เป็นการถอดรหัสซินโดรมตามด้วยการเข้ารหัสช่องสัญญาณผ่านรหัสบล็อก เชิงเส้น และผ่านรหัสเสริม[ 18 ]ซึ่งแสดงให้เห็นในทางทฤษฎีถึงวิธีการประกอบตัวถอดรหัสร่วม DSC จากตัวเข้ารหัสและตัวถอดรหัสรหัสเชิงเส้น
ขอบเขตทางทฤษฎี
ขอบเขตการบีบอัดแบบไม่สูญเสียข้อมูลตามทฤษฎีสารสนเทศบน DSC ( ขอบเขต Slepian–Wolf ) ได้รับการเสนอครั้งแรกโดยDavid SlepianและJack Keil Wolfในแง่ของเอนโทรปีของแหล่งข้อมูลที่มีความสัมพันธ์กันในปี 1973 [ 3 ]พวกเขายังแสดงให้เห็นว่าแหล่งข้อมูลที่แยกออกจากกันสองแหล่งสามารถบีบอัดข้อมูลได้อย่างมีประสิทธิภาพราวกับว่าพวกเขากำลังสื่อสารกัน ขอบเขตนี้ได้รับการขยายไปยังกรณีของแหล่งข้อมูลที่มีความสัมพันธ์กันมากกว่าสองแหล่งโดยThomas M. Coverในปี 1975 [ 4 ]
ผลลัพธ์ที่คล้ายกันนี้ได้รับในปี พ.ศ. 2519 โดยAaron D. WynerและJacob Zivเกี่ยวกับการเข้ารหัสแบบสูญเสียของแหล่งกำเนิดเกาส์เซียนร่วม[ 5 ]
สลีเปียน-วูล์ฟ บอด
การเข้ารหัสแบบกระจายคือการเข้ารหัสแหล่งข้อมูลสองแหล่งขึ้นไปที่ขึ้นอยู่กันด้วยตัวเข้ารหัสแยกกันและตัวถอดรหัสร่วมกัน เมื่อกำหนดลำดับสุ่มตัวอักษรจำกัดอิสระและขึ้นอยู่กันทางสถิติสองลำดับ X และ Y ทฤษฎีบท Slepian–Wolf จะรวมขอบเขตทางทฤษฎีสำหรับอัตราการเข้ารหัสแบบไม่สูญเสียสำหรับการเข้ารหัสแบบกระจายของแหล่งข้อมูลทั้งสองดังต่อไปนี้: [ 3 ]
หากทั้งตัวเข้ารหัสและตัวถอดรหัสของแหล่งข้อมูลทั้งสองเป็นอิสระต่อกัน อัตราต่ำสุดที่เราสามารถทำได้สำหรับการบีบอัดแบบไม่สูญเสียข้อมูลคือและสำหรับและตามลำดับ โดยที่และคือเอนโทรปีของและอย่างไรก็ตาม ด้วยการถอดรหัสร่วมกัน หากยอมรับว่าความน่าจะเป็นของข้อผิดพลาดสำหรับลำดับยาวๆ มีค่าเป็นศูนย์ ทฤษฎีบท Slepian–Wolf แสดงให้เห็นว่าสามารถบรรลุอัตราการบีบอัดที่ดีกว่ามากได้ ตราบใดที่อัตราทั้งหมดของและ มีค่ามากกว่าเอน โทรปีร่วมของพวกมันและไม่มีแหล่งข้อมูลใดถูกเข้ารหัสด้วยอัตราที่มากกว่าเอนโทรปีของมัน การเข้ารหัสแบบกระจายสามารถบรรลุความน่าจะเป็นของข้อผิดพลาดที่น้อยมากสำหรับลำดับยาวๆ ได้
กรณีพิเศษของการเข้ารหัสแบบกระจายคือการบีบอัดข้อมูลโดยใช้ข้อมูลฝั่งตัวถอดรหัส ซึ่งแหล่งข้อมูลมีอยู่ฝั่งตัวถอดรหัสแต่ไม่สามารถเข้าถึงได้ฝั่งตัวเข้ารหัส กรณีนี้สามารถมองได้ว่าเป็นสภาวะที่ใช้การเข้ารหัสไปแล้วในขณะที่เราตั้งใจจะใช้การเข้ารหัสอีกแบบหนึ่ง ระบบทั้งหมดทำงานในลักษณะที่ไม่สมมาตร (อัตราการบีบอัดสำหรับแหล่งข้อมูลทั้งสองไม่สมมาตร)
ไวเนอร์-ซิฟ บรอด
ไม่นานหลังจากที่ทฤษฎีบท Slepian–Wolf เกี่ยวกับการบีบอัดแบบกระจายที่ไม่สูญเสียข้อมูลได้รับการตีพิมพ์ การขยายไปสู่การบีบอัดแบบสูญเสียข้อมูลด้วยข้อมูลฝั่งตัวถอดรหัสก็ได้รับการเสนอเป็นทฤษฎีบท Wyner–Ziv [ 5 ] ในทำนอง เดียวกันกับกรณีที่ไม่สูญเสียข้อมูล มีแหล่งข้อมูล iid ที่ขึ้นต่อกันทางสถิติสองแหล่งและถูกกำหนด โดยที่มีอยู่ฝั่งตัวถอดรหัสแต่ไม่สามารถเข้าถึงได้ฝั่งตัวเข้ารหัส แทนที่จะเป็นการบีบอัดแบบไม่สูญเสียข้อมูลในทฤษฎีบท Slepian–Wolf ทฤษฎีบท Wyner–Ziv ได้พิจารณากรณีการบีบอัดแบบสูญเสียข้อมูล
ทฤษฎีบท Wyner–Ziv นำเสนอขอบเขตล่างที่เป็นไปได้สำหรับอัตราการส่งบิตที่ระดับความผิดเพี้ยนที่กำหนดพบว่าสำหรับแหล่งกำเนิดแบบเกาส์เซียนที่ไม่มีหน่วยความจำและความผิดเพี้ยนแบบค่าเฉลี่ยกำลังสอง ขอบเขตล่างสำหรับอัตราการส่งบิตจะยังคงเหมือนเดิมไม่ว่าจะมีข้อมูลเพิ่มเติมที่ตัวเข้ารหัสหรือไม่ก็ตาม
สำหรับเทอร์มินัลมากกว่าสองตัว การเข้ารหัสแหล่งข้อมูลแบบหลายเทอร์มินัลจะศึกษาขอบเขตอัตราความผิดเพี้ยนเมื่อมีการเข้ารหัสการสังเกตที่สัมพันธ์กันหลายรายการแยกกันและถอดรหัสร่วมกัน Yasutada Oohama ได้ผลลัพธ์สำหรับการเข้ารหัสแหล่งข้อมูลแบบหลายเทอร์มินัลแบบเกาส์เซียน ซึ่งเป็นกรณีตัวอักษรต่อเนื่องหลักของปัญหานี้[ 19 ]
ช่องเสมือนจริง
แบบ จำลองเชิงกำหนด
แบบ จำลองความน่าจะเป็น
DSC แบบไม่สมมาตรเทียบกับ DSC แบบสมมาตร
DSC แบบไม่สมมาตร หมายความว่ามีการใช้บิตเรตที่แตกต่างกันในการเข้ารหัสแหล่งข้อมูลขาเข้า ในขณะที่ DSC แบบสมมาตรใช้บิตเรตเดียวกัน ยกตัวอย่างเช่น การออกแบบ DSC ที่มีแหล่งข้อมูลสองแหล่ง ในตัวอย่างนี้และเป็นแหล่งข้อมูลแบบแยกส่วน ไม่มีหน่วยความจำ กระจายอย่างสม่ำเสมอ ซึ่งสร้างชุดตัวแปรและที่มีความยาว 7 บิต และระยะห่างแฮมมิงระหว่างและมีค่าไม่เกินหนึ่ง ขอบเขตสเลเปียน-วูล์ฟสำหรับแหล่งข้อมูลเหล่านี้คือ:
นี่หมายความว่า ขอบเขตทางทฤษฎีคือและ DSC แบบสมมาตรหมายถึง 5 บิตสำหรับแต่ละแหล่งสัญญาณ คู่อื่นๆ ที่มีคือกรณีอสมมาตรที่มีการกระจายอัตราบิตที่แตกต่างกันระหว่างและโดยที่, และแทนสองกรณีสุดขั้วที่เรียกว่าการถอดรหัสด้วยข้อมูลเสริม
การเขียนโค้ดซอร์สโค้ดแบบกระจายเชิงปฏิบัติ
การเข้ารหัสแบบ Slepian–Wolf – การเข้ารหัสแบบกระจายที่ไม่สูญเสียข้อมูล
เป็นที่เข้าใจกันว่าการเข้ารหัส Slepian–Wolfมีความเกี่ยวข้องอย่างใกล้ชิดกับการเข้ารหัสช่องสัญญาณในปี 1974 [ 6 ]และหลังจากนั้นประมาณ 30 ปี DSC ในทางปฏิบัติก็เริ่มถูกนำไปใช้โดยใช้รหัสช่องสัญญาณที่แตกต่างกัน แรงจูงใจเบื้องหลังการใช้รหัสช่องสัญญาณมาจากกรณีสองแหล่งสัญญาณ ความสัมพันธ์ระหว่างแหล่งสัญญาณขาเข้าสามารถจำลองเป็นช่องสัญญาณเสมือนซึ่งมีขาเข้าเป็นแหล่งสัญญาณและขาออกเป็นแหล่งสัญญาณระบบDISCUSที่เสนอโดย SS Pradhan และ K. Ramchandran ในปี 1999 ได้นำ DSC มาใช้ร่วมกับการถอดรหัสซินโดรมซึ่งใช้งานได้กับกรณีไม่สมมาตรและต่อมาได้ขยายไปสู่กรณีสมมาตร[ 7 ] [ 8 ]
โครงสร้างพื้นฐานของ DSC ที่ใช้ซินโดรมคือ สำหรับแต่ละแหล่งสัญญาณ พื้นที่อินพุตจะถูกแบ่งออกเป็นหลายโคเซ็ตตามวิธีการเข้ารหัสช่องสัญญาณเฉพาะที่ใช้ อินพุตแต่ละรายการจากแต่ละแหล่งสัญญาณจะได้รับเอาต์พุตที่ระบุว่าอินพุตนั้นอยู่ในโคเซ็ตใด และตัวถอดรหัสร่วมสามารถถอดรหัสอินพุตทั้งหมดได้โดยใช้ดัชนีโคเซ็ตที่ได้รับและความสัมพันธ์ระหว่างแหล่งสัญญาณ การออกแบบรหัสช่องสัญญาณควรพิจารณาความสัมพันธ์ระหว่างแหล่งสัญญาณอินพุต
สามารถใช้กลุ่มรหัสเพื่อสร้างพาร์ติชันโคเซ็ตได้[ 20 ]เช่น รหัสเทรลลิสและรหัสแลตทิซ Pradhan และ Ramchandran ออกแบบกฎสำหรับการสร้างรหัสย่อยสำหรับแต่ละแหล่งที่มา และนำเสนอผลลัพธ์ของการสร้างโคเซ็ตแบบเทรลลิสใน DSC ซึ่งอิงตามรหัสคอนโวลูชันและกฎการแบ่งเซตเช่นเดียวกับการมอดูเลชันเทรลลิสรวมถึง DSC แบบอิงรหัสแลตทิ ซ [ 7 ] [ 8 ]หลังจากนั้น รหัสเทรลลิสแบบฝังตัวได้รับการเสนอสำหรับการเข้ารหัสแบบไม่สมมาตรเพื่อปรับปรุงผลลัพธ์ของพวกเขา[ 21 ]
หลังจากมีการเสนอระบบ DISCUS แล้ว รหัสช่องสัญญาณที่ซับซ้อนกว่าก็ได้รับการปรับใช้กับระบบ DSC เช่นTurbo Code , LDPC Code และ Iterative Channel Code ตัวเข้ารหัสของรหัสเหล่านี้มักจะเรียบง่ายและง่ายต่อการใช้งาน ในขณะที่ตัวถอดรหัสมีความซับซ้อนในการคำนวณสูงกว่ามาก และสามารถให้ประสิทธิภาพที่ดีได้โดยการใช้สถิติของแหล่งข้อมูล ด้วยรหัสช่องสัญญาณที่ซับซ้อนซึ่งมีประสิทธิภาพใกล้เคียงกับความจุของช่องสัญญาณแบบสหสัมพันธ์ ระบบ DSC ที่เกี่ยวข้องจึงสามารถเข้าใกล้ขีดจำกัด Slepian–Wolf ได้
แม้ว่าการวิจัยส่วนใหญ่จะมุ่งเน้นไปที่ DSC ที่มีแหล่งข้อมูลที่ขึ้นอยู่สองแหล่ง แต่การเข้ารหัส Slepian–Wolf ได้รับการขยายไปสู่กรณีที่มีแหล่งข้อมูลอินพุตมากกว่าสองแหล่ง และวิธีการสร้างรหัสย่อยจากรหัสช่องสัญญาณเดียวได้รับการเสนอโดย V. Stankovic, AD Liveris เป็นต้น โดยพิจารณาจากแบบจำลองความสัมพันธ์เฉพาะ[ 22 ]
ทฤษฎีบททั่วไปของการเข้ารหัส Slepian–Wolf พร้อมซินโดรมสำหรับแหล่งข้อมูลสองแหล่ง
ทฤษฎีบท : แหล่งกำเนิดที่มีการกระจายแบบสม่ำเสมอและมีความสัมพันธ์กันสองแหล่งใดๆ โดยที่สามารถบีบอัดแยกกันได้ด้วยอัตราคู่หนึ่งโดยที่และเป็นจำนวนเต็ม และสามารถทำได้โดยใช้รหัสเชิงเส้นไบนารี
บทพิสูจน์ : ขอบเขตแฮมมิงสำหรับรหัสเชิงเส้นไบนารีคือและเรามีรหัสแฮมมิงที่บรรลุขอบเขตนี้ ดังนั้นเราจึงมีรหัสเชิงเส้นไบนารีที่มีเมทริกซ์ กำเนิด ต่อไปเราจะแสดงวิธีการสร้างการเข้ารหัสซินโดรมโดยอิงจากรหัสเชิงเส้นนี้
ให้และถูกสร้างขึ้นโดยการนำแถวแรกจากในขณะที่ถูกสร้างขึ้นโดยใช้แถวที่เหลือของและเป็นรหัสย่อยของรหัสแฮมมิงที่สร้างโดยและตามลำดับ โดยมีและเป็นเมทริกซ์ตรวจสอบความเท่าเทียมกัน
สำหรับคู่ของอินพุตตัวเข้ารหัสจะกำหนดโดยและนั่นหมายความว่า เราสามารถแทนและเป็น, , โดยที่เป็นตัวแทนของโคเซตของ ที่เกี่ยวข้องกับตามลำดับ เนื่องจากเรามีโดยที่เราจึงได้โดยที่, .
สมมติว่ามีคู่ข้อมูลอินพุตสองคู่ที่แตกต่างกันแต่มีซินโดรมเดียวกัน นั่นหมายความว่ามีสตริงสองสตริงที่แตกต่างกันโดยที่และดังนั้นเราจะมีเนื่องจากน้ำหนักแฮมมิง ต่ำสุด ของรหัสคือระยะห่างระหว่างและคือในทางกลับกัน ตามร่วมกับและเราจะมีและซึ่งขัดแย้งกับดังนั้น เราจึงไม่สามารถมีคู่ข้อมูลอินพุตที่มีซินโดรมเดียวกันได้มากกว่าหนึ่งคู่
ดังนั้น เราจึงสามารถบีบอัดแหล่งข้อมูลที่ขึ้นอยู่กันสองแหล่งได้สำเร็จด้วยซับโค้ดที่สร้างขึ้นจากโค้ด เชิงเส้นไบนารี โดยมีคู่เรทที่ โดยที่และเป็นจำนวนเต็ม และLog หมายถึงLog 2
ตัวอย่างการเข้ารหัสแบบ Slepian–Wolf
ยกตัวอย่างเช่นเดียวกับในส่วนก่อนหน้าเรื่องDSC แบบไม่สมมาตรเทียบกับ DSC แบบสมมาตรในส่วนนี้จะนำเสนอแผนผัง DSC ที่เกี่ยวข้องพร้อมรหัสโคเซ็ตและซินโดรม รวมถึงกรณีไม่สมมาตรและกรณีสมมาตร ขอบเขต Slepian–Wolf สำหรับการออกแบบ DSC แสดงไว้ในส่วนก่อนหน้าแล้ว
กรณีไม่สมมาตร
ในกรณีที่และความยาวของตัวแปรอินพุตจากแหล่งกำเนิดคือ 7 บิต ดังนั้นจึงสามารถส่งได้โดยไม่สูญเสียข้อมูลด้วย 7 บิตโดยไม่ขึ้นอยู่กับบิตอื่นๆ จากความรู้ที่ว่าและมีระยะห่างแฮมมิงไม่เกินหนึ่ง สำหรับอินพุตจากแหล่งกำเนิดเนื่องจากผู้รับมีอยู่แล้วจึงเป็นไปได้เพียงอย่างเดียวคือค่าที่มีระยะห่างไม่เกิน 1 จากหากเราจำลองความสัมพันธ์ระหว่างสองแหล่งกำเนิดเป็นช่องสัญญาณเสมือน ซึ่งมีอินพุตและเอาต์พุตตราบใดที่เราได้รับสิ่งที่เราต้องการเพื่อ "ถอดรหัส" ให้สำเร็จคือ "บิตพาริตี" ที่มีความสามารถในการแก้ไขข้อผิดพลาดเฉพาะ โดยใช้ความแตกต่างระหว่างและเป็นข้อผิดพลาดของช่องสัญญาณ เรายังสามารถจำลองปัญหาด้วยการแบ่งพาร์ติชันโคเซ็ตได้ นั่นคือ เราต้องการหาโค้ดช่องสัญญาณที่สามารถแบ่งพื้นที่ของอินพุตออกเป็นหลายโคเซ็ต โดยแต่ละโคเซ็ตมีซินโดรมที่ไม่ซ้ำกันที่เกี่ยวข้องกับมัน ด้วยโคเซ็ต และ ที่กำหนดจะมีเพียงหนึ่งเดียวเท่านั้นที่เป็นไปได้ที่จะเป็นอินพุตเมื่อพิจารณาความสัมพันธ์ระหว่างสองแหล่งกำเนิด
ในตัวอย่างนี้ เราสามารถใช้รหัสแฮมมิงแบบไบนารีโดยใช้เมทริกซ์ตรวจสอบความเท่าเทียมกันสำหรับอินพุตจากแหล่งกำเนิด จะมีการส่ง เฉพาะซินโดรมที่กำหนดโดยซึ่งมี 3 บิต เมื่อได้รับและสมมติว่ามีอินพุตสองตัวและที่มีซินโดรมเดียวกันนั่นหมายความว่าซึ่งก็คือเนื่องจากน้ำหนักแฮมมิงขั้นต่ำของรหัสแฮมมิงคือ 3 ดังนั้น ดังนั้นจึง สามารถกู้คืนอินพุต ได้ เนื่องจาก
ในทำนองเดียวกัน การกระจายบิตด้วยสามารถทำได้โดยการสลับบทบาทของ และ
กรณีสมมาตร
ในกรณีสมมาตร สิ่งที่เราต้องการคืออัตราบิตที่เท่ากันสำหรับแหล่งข้อมูลทั้งสอง: 5 บิตต่อแหล่ง โดยมีตัวเข้ารหัสแยกกันและตัวถอดรหัสร่วมกัน เรายังคงใช้รหัสเชิงเส้นสำหรับระบบนี้ เช่นเดียวกับที่เราใช้ในกรณีอสมมาตร แนวคิดพื้นฐานคล้ายกัน แต่ในกรณีนี้ เราจำเป็นต้องทำการแบ่งกลุ่มโคเซ็ตสำหรับแหล่งข้อมูลทั้งสอง ในขณะที่สำหรับคู่ของซินโดรมที่ได้รับ (ซึ่งสอดคล้องกับหนึ่งโคเซ็ต) จะมีเพียงคู่เดียวของตัวแปรอินพุตที่เป็นไปได้เท่านั้น โดยพิจารณาจากความสัมพันธ์ระหว่างแหล่งข้อมูลทั้งสอง
สมมติว่าเรามีคู่รหัสเชิงเส้น และและคู่ตัวเข้ารหัส-ตัวถอดรหัสที่ใช้รหัสเชิงเส้นซึ่งสามารถเข้ารหัสแบบสมมาตรได้ เอาต์พุตของตัวเข้ารหัสคือและถ้ามีคู่ของอินพุตที่ถูกต้องสองคู่และที่สร้างซินโดรมเดียวกัน นั่นคือและเราจะได้สิ่งต่อไปนี้ ( แทนน้ำหนักแฮมมิง):
, ที่ไหน
, ที่ไหน
ดังนั้น:
โดยที่และนั่นหมายความว่า ตราบใดที่ระยะห่างขั้นต่ำระหว่างรหัสทั้งสองมีค่ามากกว่าเราก็สามารถถอดรหัสได้อย่างไม่มีข้อผิดพลาด
รหัสทั้งสองและสามารถสร้างเป็นรหัสย่อยของรหัสแฮมมิงได้ ดังนั้นจึงมีระยะห่างต่ำสุดเท่ากับโดยกำหนดเมทริกซ์กำเนิดของรหัสแฮมมิงดั้งเดิม เมทริกซ์กำเนิดสำหรับจะถูกสร้างขึ้นโดยการเลือกสองแถวใดๆ จากและจะถูกสร้างขึ้นจากสองแถวที่เหลือของเมทริกซ์ตรวจสอบความเท่าเทียมกันที่สอดคล้องกันสำหรับแต่ละรหัสย่อยสามารถสร้างขึ้นตามเมทริกซ์กำเนิดและใช้เพื่อสร้างบิตซินโดรมได้
การเข้ารหัส Wyner–Ziv – การเข้ารหัสแบบกระจายที่มีการสูญเสียข้อมูล
โดยทั่วไปแล้ว รูปแบบการเข้ารหัส Wyner–Ziv ได้มาจากการเพิ่มตัวควอนไทเซอร์และตัวดีควอนไทเซอร์ลงในรูปแบบการเข้ารหัส Slepian–Wolf ดังนั้น การออกแบบตัวเข้ารหัส Wyner–Ziv จึงสามารถมุ่งเน้นไปที่การออกแบบตัวควอนไทเซอร์และวิธีการสร้างใหม่ที่สอดคล้องกันได้ มีการเสนอรูปแบบการออกแบบตัวควอนไทเซอร์หลายแบบ เช่น ตัวควอนไทเซอร์แบบแลตทิซซ้อน[ 23 ]ตัวควอนไทเซอร์รหัสเทรลลิส[ 24 ]และวิธีการควอนไทเซชันของ Lloyd [ 25 ]
การควอนไทเซชันแบบกระจายขนาดใหญ่
น่าเสียดายที่วิธีการข้างต้นไม่สามารถปรับขนาดได้ (ในแง่ของการออกแบบหรือความซับซ้อนในการดำเนินงาน) สำหรับเครือข่ายเซ็นเซอร์ขนาดใหญ่ ซึ่งเป็นสถานการณ์ที่การบีบอัดแบบกระจายมีประโยชน์มากที่สุด หากมีแหล่งกำเนิด N แหล่งที่ส่งข้อมูลที่ R บิตต่อแหล่ง (ด้วยรูปแบบการเข้ารหัสแบบกระจายบางอย่าง) จำนวนการสร้างใหม่ที่เป็นไปได้จะเพิ่มขึ้นแม้แต่สำหรับค่า N และ R ในระดับปานกลาง (เช่น N=10, R = 2) รูปแบบการออกแบบก่อนหน้านี้ก็ไม่สามารถนำไปใช้ได้จริง เมื่อเร็ว ๆ นี้ มีการเสนอแนวทาง[ 26 ]โดยใช้แนวคิดที่ยืมมาจาก Fusion Coding of Correlated Sources ซึ่งความซับซ้อนในการออกแบบและการดำเนินงานจะถูกแลกเปลี่ยนกับประสิทธิภาพของตัวถอดรหัส ซึ่งทำให้สามารถออกแบบตัวควอนไทเซอร์แบบกระจายสำหรับขนาดเครือข่ายที่สูงถึง 60 แหล่ง โดยมีกำไรอย่างมากเมื่อเทียบกับวิธีการแบบดั้งเดิม
แนวคิดหลักคือการมีตัวเลือกบิตย่อยซึ่งจะรักษาบิตย่อยบางส่วนที่ได้รับ (บิต NR ในตัวอย่างข้างต้น) สำหรับแต่ละแหล่งที่มา ให้เป็นเซตของบิตย่อยทั้งหมดของบิต NR นั่นคือ
จากนั้น เรากำหนดการแมปตัวเลือกบิตย่อยดังนี้
โปรดทราบว่า การเลือกตัวเลือกชุดย่อยบิตแต่ละครั้ง จะทำให้เกิดความต้องการพื้นที่จัดเก็บ (C) ซึ่งเพิ่มขึ้นแบบเลขชี้กำลังตามจำนวนสมาชิกของชุดบิตที่เลือก
วิธีนี้ช่วยให้สามารถเลือกบิตที่เหมาะสมที่สุดเพื่อลดความผิดเพี้ยนให้น้อยที่สุด ภายใต้ข้อจำกัดของพื้นที่จัดเก็บข้อมูลในตัวถอดรหัส ยังคงจำเป็นต้องมีข้อจำกัดเพิ่มเติมเกี่ยวกับชุดของเซตย่อยที่อนุญาต ฟังก์ชันต้นทุนที่มีประสิทธิภาพที่ต้องลดให้เหลือน้อยที่สุดคือผลรวมถ่วงน้ำหนักของความผิดเพี้ยนและพื้นที่จัดเก็บข้อมูลในตัวถอดรหัส
การออกแบบระบบดำเนินการโดยการปรับปรุงตัวเข้ารหัส ตัวถอดรหัส และตัวเลือกชุดย่อยบิตอย่างต่อเนื่อง (และทีละขั้นตอน) จนกว่าจะบรรลุจุดบรรจบ
DSC แบบไม่สมมาตรสำหรับแหล่งกำเนิดมากกว่าสองแหล่ง
วิธีการใช้ซินโดรมยังคงสามารถใช้ได้กับแหล่งข้อมูลมากกว่าสองแหล่ง พิจารณาแหล่งข้อมูลไบนารีที่มีความยาวn ให้เป็นเมทริกซ์การเข้ารหัสที่สอดคล้องกันซึ่งมีขนาดจากนั้นแหล่งข้อมูลไบนารีขาเข้าจะถูกบีบอัดเป็นของบิตทั้งหมดเห็นได้ชัดว่า ไม่สามารถกู้คืนทูเปิลแหล่งข้อมูลสองชุดพร้อมกันได้หากพวกมันมีซินโดรมเดียวกัน กล่าวอีกนัยหนึ่ง หากทูเปิลแหล่งข้อมูลทั้งหมดที่สนใจมีซินโดรมที่แตกต่างกัน ก็สามารถกู้คืนได้โดยไม่สูญเสียข้อมูล
ดูเหมือนว่าจะไม่มีผลลัพธ์ทางทฤษฎีทั่วไป อย่างไรก็ตาม สำหรับแหล่งกำเนิดประเภทจำกัดที่เรียกว่าแหล่งกำเนิดแฮมมิง[ 27 ]ซึ่งมีแหล่งกำเนิดที่แตกต่างจากส่วนที่เหลืออย่างมากที่สุดเพียงแหล่งเดียว และมีตำแหน่งบิตที่ไม่เหมือนกันทั้งหมดอย่างมากที่สุดเพียงตำแหน่งเดียว พบว่า DSC ที่ไม่มีการสูญเสียในทางปฏิบัติมีอยู่จริงในบางกรณี สำหรับกรณีที่มีแหล่งกำเนิดมากกว่าสองแหล่ง จำนวนทูเปิล ของแหล่งกำเนิด ในแหล่งกำเนิดแฮมมิงคือดังนั้น ขอบเขตการบรรจุที่ต้องเป็นไปตามเงื่อนไขอย่างชัดเจน เมื่อขอบเขตการบรรจุเป็นไปตามเงื่อนไขความเท่าเทียมกัน เราอาจเรียกโค้ดดังกล่าวว่าสมบูรณ์แบบ (ซึ่งเป็นสิ่งที่คล้ายคลึงกับโค้ดที่สมบูรณ์แบบในโค้ดแก้ไขข้อผิดพลาด) [ 27 ]
ชุดที่ง่ายที่สุดที่จะตอบสนองขอบเขตการบรรจุด้วยความเท่าเทียมกันคืออย่างไรก็ตาม ปรากฏว่ารหัสซินโดรมดังกล่าวไม่มีอยู่จริง[ 28 ]รหัสซินโดรมที่ง่ายที่สุด (สมบูรณ์แบบ) ที่มีแหล่งที่มามากกว่าสองแหล่งมีและให้
และ ในลักษณะที่เป็นการ แบ่งส่วนใด ๆ ของ
สามารถบีบอัดแหล่งข้อมูล Hamming ได้ (เช่น แหล่งข้อมูลที่มีความแตกต่างกันไม่เกินหนึ่งบิตจะมีซินโดรมที่แตกต่างกันทั้งหมด) [ 27 ] ตัวอย่างเช่น สำหรับกรณีสมมาตร ชุดเมทริกซ์การเข้ารหัสที่เป็นไปได้คือ
ดูเพิ่มเติม
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ การเข้ารหัสซอร์สโค้ดแบบกระจาย
การเข้ารหัสแหล่งข้อมูลแบบกระจาย ( DSC ) เป็นปัญหาสำคัญในทฤษฎีสารสนเทศและการสื่อสารปัญหา DSC เกี่ยวข้องกับการบีบอัดแหล่งข้อมูลหลายแหล่งที่มีความสัมพันธ์กันแต่ไม่ได้สื่อสารกัน
ประวัติศาสตร์
ในปี พ.ศ. 2516 David Slepian และ Jack Keil Wolf ได้เสนอขอบเขต การบีบอัดแบบไม่สูญเสีย ข้อมูลตามทฤษฎีสารสนเทศสำหรับการบีบอัดแบบกระจายของ แหล่ง ข้อมูลอิสระและ เหมือนกันสองแหล่งที่สัมพันธ์กัน X และ Y [ 3 ] หลังจากนั้น...
ขอบเขตทางทฤษฎี
ขอบเขตการบีบอัดแบบไม่สูญเสียข้อมูลตามทฤษฎีสารสนเทศบน DSC ( ขอบเขต Slepian–Wolf ) ได้รับการเสนอครั้งแรกโดย David Slepian และ Jack Keil Wolf ในแง่ของเอนโทรปีของแหล่งข้อมูลที่มีความสัมพันธ์กันในปี 1973 [ 3 ]...
สลีเปียน-วูล์ฟ บอด
การเข้ารหัสแบบกระจายคือการเข้ารหัสแหล่งข้อมูลสองแหล่งขึ้นไปที่ขึ้นอยู่กันด้วยตัวเข้ารหัสแยกกันและตัวถอดรหัสร่วมกัน เมื่อกำหนดลำดับสุ่มตัวอักษรจำกัดอิสระและขึ้นอยู่กันทางสถิติสองลำดับ X และ Y ทฤษฎีบท Slepian–Wolf...