กลับไปหน้าบทความ

อ่าน 8 นาที

การเข้ารหัสแบบโกลอมบ์

การเข้ารหัส Golomb เป็น วิธี การบีบอัดข้อมูลแบบไม่สูญเสียข้อมูล โดยใช้ตระกูล รหัส การบีบอัดข้อมูล ที่คิดค้นโดย Solomon W.

การเข้ารหัสแบบโกลอมบ์

การเข้ารหัส Golombเป็น วิธี การบีบอัดข้อมูลแบบไม่สูญเสียข้อมูลโดยใช้ตระกูล รหัส การบีบอัดข้อมูลที่คิดค้นโดยSolomon W. Golombในช่วงทศวรรษ 1960 ตัวอักษรที่ตามการกระจายแบบเรขาคณิตจะมีรหัส Golomb เป็นรหัสคำนำหน้าที่เหมาะสมที่สุด[ 1 ]ทำให้การเข้ารหัส Golomb เหมาะอย่างยิ่งสำหรับสถานการณ์ที่การเกิดขึ้นของค่าขนาดเล็กในสตรีมอินพุตมีแนวโน้มมากกว่าค่าขนาดใหญ่อย่างมีนัยสำคัญ

การเข้ารหัสข้าว

การเข้ารหัสแบบ Rice (คิดค้นโดยRobert F. Rice ) หมายถึงการใช้ชุดย่อยของตระกูลรหัส Golomb เพื่อสร้างรหัสคำนำหน้าแบบง่ายๆ (แต่อาจไม่เหมาะสมที่สุด) Rice ใช้ชุดรหัสนี้ใน แผนการ เข้ารหัสแบบปรับตัวได้ "การเข้ารหัสแบบ Rice" สามารถหมายถึงแผนการปรับตัวนั้นหรือการใช้ชุดย่อยของรหัส Golomb ก็ได้ ในขณะที่รหัส Golomb มีพารามิเตอร์ที่ปรับได้ซึ่งสามารถเป็นค่าจำนวนเต็มบวกใดๆ ก็ได้ รหัส Rice คือรหัสที่มีพารามิเตอร์ที่ปรับได้เป็นกำลังของสอง ทำให้รหัส Rice สะดวกต่อการใช้งานบนคอมพิวเตอร์ เนื่องจากสามารถดำเนินการคูณและหารด้วย 2 ได้อย่างมีประสิทธิภาพมากขึ้นในเลขคณิต ไบนารี

ไรซ์ได้รับแรงบันดาลใจในการเสนอชุดย่อยที่เรียบง่ายกว่านี้ เนื่องจากข้อเท็จจริงที่ว่าการแจกแจงทางเรขาคณิตมักเปลี่ยนแปลงไปตามเวลา ไม่เป็นที่ทราบแน่ชัด หรือทั้งสองอย่าง ดังนั้นการเลือกโค้ดที่ดูเหมือนเหมาะสมที่สุดอาจไม่ได้มีประโยชน์มากนัก

การเข้ารหัสแบบ Rice ถูกนำมาใช้เป็น ขั้นตอน การเข้ารหัสเอนโทรปี ใน วิธี การบีบอัดภาพและการบีบอัดข้อมูลเสียงแบบไม่สูญเสียข้อมูลหลายวิธี

ภาพรวม

ตัวอย่างการเข้ารหัส Golomb สำหรับแหล่งข้อมูล x ที่มีการแจกแจงแบบเรขาคณิต โดยมีพารามิเตอร์p (0) = 0.2โดยใช้รหัส Golomb ที่มีM = 3รหัส 2 บิต 00 ถูกใช้ 20% ของเวลา รหัส 3 บิต 010, 011 และ 100 ถูกใช้มากกว่า 38% ของเวลา และจำเป็นต้องใช้ 4 บิตขึ้นไปในกรณีส่วนน้อย สำหรับแหล่งข้อมูลนี้ เอนโทรปี = 3.610 บิต สำหรับรหัสนี้กับแหล่งข้อมูลนี้ อัตรา = 3.639 บิต ดังนั้น ความซ้ำซ้อน = 0.030 บิต หรือประสิทธิภาพ = 0.992 บิตต่อบิต

การสร้างรหัส

การเข้ารหัสแบบ Golomb ใช้พารามิเตอร์ที่ปรับได้Mเพื่อแบ่งค่าอินพุตxออกเป็นสองส่วน คือqซึ่งเป็นผลลัพธ์ของการหารด้วยMและrซึ่งเป็นเศษเหลือ ผลหารจะถูกส่งในรูปแบบการเข้ารหัสแบบเอกภาคตามด้วยเศษเหลือในรูปแบบการเข้ารหัสแบบไบนารีแบบตัดทอนเมื่อM = 0 การเข้ารหัสแบบ Golomb จะเทียบเท่ากับการเข้ารหัสแบบเอกภาค

รหัส Golomb–Rice สามารถคิดได้ว่าเป็นรหัสที่ระบุตัวเลขโดยตำแหน่งของถัง ( q ) และค่าชดเชยภายในถัง ( r ) รูปตัวอย่างแสดงตำแหน่งqและค่าชดเชยrสำหรับการเข้ารหัสจำนวนเต็มxโดยใช้พารามิเตอร์ Golomb–Rice M = 3โดยที่ความน่าจะเป็นของแหล่งที่มาเป็นไปตามการแจกแจงแบบเรขาคณิตด้วยp (0) = 0.2

ในทางคณิตศาสตร์ ส่วนประกอบทั้งสองส่วนแสดงได้ด้วยนิพจน์ต่อไปนี้ โดยที่xคือจำนวนเต็มที่ไม่เป็นลบที่ถูกเข้ารหัส:

และ

ภาพนี้แสดงถึงความซ้ำซ้อนในหน่วยบิตของรหัส Golomb เมื่อเลือกM อย่างเหมาะสม สำหรับ 1 − p (0) ≥ 0.45

ทั้งqและrจะถูกเข้ารหัสโดยใช้จำนวนบิตที่แปรผันได้: qด้วยรหัสเอกภาค และrด้วยbบิตสำหรับรหัส Rice หรือเลือกใช้ระหว่างbและb + 1บิตสำหรับรหัส Golomb (เช่นMไม่ใช่กำลังของ 2) โดยที่ถ้าให้ใช้bบิตในการเข้ารหัสrมิฉะนั้น ให้ใช้b + 1 บิตในการเข้ารหัสrเห็นได้ชัดว่าถ้าMเป็นกำลังของ 2 และเราสามารถเข้ารหัสค่าทั้งหมดของrด้วยbบิตได้

จำนวนเต็มxที่ Golomb พิจารณาคือความยาวของการทำงานของกระบวนการ Bernoulliซึ่งมีการแจกแจงแบบเรขาคณิตเริ่มต้นที่ 0 ตัวเลือกที่ดีที่สุดของพารามิเตอร์Mคือฟังก์ชันของกระบวนการ Bernoulli ที่สอดคล้องกัน ซึ่งกำหนดพารามิเตอร์โดยความน่าจะเป็นของความสำเร็จในการทดลอง Bernoulli ที่กำหนดM คือค่ามัธยฐานของการแจกแจงหรือค่ามัธยฐาน ±1 สามารถกำหนดได้จากอสมการเหล่านี้: ซึ่งแก้ได้โดย

สำหรับตัวอย่างที่มีp (0) = 0.2 :

รหัส Golomb สำหรับการแจกแจงนี้เทียบเท่ากับรหัส Huffmanสำหรับความน่าจะเป็นเดียวกัน หากเป็นไปได้ที่จะคำนวณรหัส Huffman สำหรับชุดค่าต้นทางที่ไม่มีที่สิ้นสุด

ใช้กับจำนวนเต็มที่มีเครื่องหมาย

วิธีการเข้ารหัสของ Golomb ถูกออกแบบมาเพื่อเข้ารหัสลำดับของจำนวนที่ไม่เป็นลบ อย่างไรก็ตาม สามารถขยายให้รองรับลำดับที่มีจำนวนลบได้ง่ายๆ โดยใช้ วิธี การซ้อนทับและสลับเปลี่ยนซึ่งค่าทั้งหมดจะถูกกำหนดใหม่ให้กับจำนวนบวกบางจำนวนในลักษณะที่ไม่ซ้ำกันและย้อนกลับได้ ลำดับเริ่มต้นด้วย: 0, −1, 1, −2, 2, −3, 3, −4, 4, ... ค่าลบตัวที่ n (เช่น⁠ ⁠ ) จะถูกแมปไปยัง จำนวนคี่ตัว ที่n ( ) และ ค่าบวกตัว ที่mจะถูกแมปไป ยังจำนวนคู่ตัวที่ m ( ) สามารถแสดงทางคณิตศาสตร์ได้ดังนี้: ค่าบวกxจะถูกแมปไปยัง ( ) และค่าลบyจะถูกแมปไปยัง ( ) สามารถใช้รหัสแบบนี้ได้เพื่อความเรียบง่าย แม้ว่าจะไม่เหมาะสมที่สุดก็ตาม รหัสที่เหมาะสมที่สุดอย่างแท้จริงสำหรับการแจกแจงทางเรขาคณิตแบบสองด้านประกอบด้วยรหัส Golomb หลายรูปแบบ ขึ้นอยู่กับพารามิเตอร์การแจกแจง รวมถึงรหัสนี้ด้วย[ 2 ]

อัลกอริทึมแบบง่าย

ด้านล่างนี้คือการเข้ารหัส Rice–Golomb ซึ่งรหัสเศษเหลือใช้การเข้ารหัสไบนารีแบบตัดทอนอย่างง่าย หรือที่เรียกว่า "การเข้ารหัส Rice" (การเข้ารหัสไบนารีที่มีความยาวแปรผันอื่นๆ เช่น การเข้ารหัสเลขคณิตหรือการเข้ารหัส Huffman ก็เป็นไปได้สำหรับรหัสเศษเหลือ หากการกระจายทางสถิติของรหัสเศษเหลือไม่แบนราบ และโดยเฉพาะอย่างยิ่งเมื่อไม่ได้ใช้เศษเหลือที่เป็นไปได้ทั้งหมดหลังจากการหาร) ในอัลกอริทึมนี้ หาก พารามิเตอร์ Mเป็นกำลังของ 2 มันจะเทียบเท่ากับการเข้ารหัส Rice ที่ง่ายกว่า:

  1. กำหนดค่าพารามิเตอร์Mให้เป็นค่าจำนวนเต็ม
  2. สำหรับNซึ่งเป็นจำนวนที่จะเข้ารหัส ให้หาค่า
    1. ผลหาร = q = floor( N / M )
    2. เศษเหลือ = r = N modulo M
  3. สร้างรหัสคำ
    1. รูปแบบรหัส: <รหัสผลหาร><รหัสเศษเหลือ> โดยที่
    2. รหัสผลหาร (ในระบบการเข้ารหัสแบบเอกภาค )
      1. เขียน สตริงความยาว qที่ประกอบด้วย 1 บิต (หรือ 0 บิต)
      2. เขียนค่า 0 บิต (หรือค่า 1 บิต)
    3. รหัสเศษเหลือ (ในรูปแบบการเข้ารหัสไบนารีแบบตัดทอน )
      1. อนุญาต
        1. ถ้าโค้ดrอยู่ในรูปแบบเลขฐานสองโดยใช้ บิต bบิต
        2. ถ้าแปลงตัวเลขเป็นรูปแบบไบนารีโดยใช้ บิต b + 1 บิต

การถอดรหัส:

  1. ถอดรหัสการแสดงค่าเอกภาคของq (นับจำนวนเลข 1 ในตอนต้นของรหัส)
  2. ข้ามตัวคั่น 0
  3. อนุญาต
    1. ตีความ บิต b ถัดไป เป็นเลขฐานสองr'ถ้าเป็นจริง แสดงว่าเศษเหลือคือ...
    2. หรืออีกนัยหนึ่ง ให้ตีความ บิต b + 1เป็นเลขฐานสองr' โดย เศษเหลือจะคำนวณได้จาก
  4. คำนวณ

ตัวอย่าง

กำหนดให้M = 10ดังนั้นจุดตัดคือ

การเข้ารหัสส่วนของผลหาร
qบิตเอาต์พุต
00
110
2110
31110
411110
5111110
61111110
เอ็น
การเข้ารหัสส่วนที่เหลือ
ออฟเซ็ตไบนารีบิตเอาต์พุต
000000000
110001001
220010010
330011011
440100100
550101101
61211001100
71311011101
81411101110
91511111111

ตัวอย่างเช่น ด้วยการเข้ารหัส Rice–Golomb โดยใช้พารามิเตอร์M = 10ตัวเลขทศนิยม 42 จะถูกแยกออกเป็นq = 4 และr = 2 ก่อน จากนั้นจะถูกเข้ารหัสเป็น qcode( q ),rcode( r ) = qcode(4),rcode(2) = 11110,010 (คุณไม่จำเป็นต้องเข้ารหัสเครื่องหมายจุลภาคที่คั่นในสตรีมเอาต์พุต เพราะ 0 ที่อยู่ท้าย รหัส qก็เพียงพอที่จะบอกว่าqสิ้นสุดและrเริ่มต้นเมื่อใด ทั้งรหัส q และรหัส r ต่างก็มีตัวคั่นในตัวเอง)

ใช้สำหรับการเข้ารหัสความยาวรัน

โปรดสังเกตว่าpและ1 – pในส่วนนี้มีการสลับตำแหน่งกันเมื่อเทียบกับการใช้งานในส่วนก่อนหน้า

เมื่อกำหนดตัวอักษรสองตัว หรือชุดของเหตุการณ์สองเหตุการณ์PและQโดยมีความน่าจะเป็นpและ ( 1 − p ) ตามลำดับ โดยที่p ≥ 1/2การเข้ารหัสแบบ Golomb สามารถใช้ในการเข้ารหัสลำดับของP ศูนย์ตัวหรือมากกว่า ที่คั่นด้วยQตัวเดียว ในแอปพลิเคชันนี้ การตั้งค่าพารามิเตอร์M ที่ดีที่สุด คือจำนวนเต็มที่ใกล้เคียงที่สุดกับเมื่อp = 1/2, M = 1 และรหัส Golomb จะสอดคล้องกับเลขฐานหนึ่ง ( P nตัวขึ้นไปตามด้วยQจะถูกเข้ารหัสเป็น1 nตัวตามด้วยศูนย์) หากต้องการรหัสที่ง่ายกว่า สามารถกำหนดค่าพารามิเตอร์ Golomb–Rice b (เช่น พารามิเตอร์ Golomb ) เป็นจำนวนเต็มที่ใกล้เคียงที่สุดกับแม้ว่าจะไม่ใช่พารามิเตอร์ที่ดีที่สุดเสมอไป แต่โดยทั่วไปแล้วจะเป็นพารามิเตอร์ Rice ที่ดีที่สุด และประสิทธิภาพการบีบอัดค่อนข้างใกล้เคียงกับรหัส Golomb ที่เหมาะสมที่สุด (ไรซ์เองเสนอให้ใช้รหัสต่างๆ สำหรับข้อมูลชุดเดียวกันเพื่อหาว่ารหัสใดดีที่สุด นักวิจัย JPL ในภายหลัง ได้เสนอวิธีการต่างๆ ในการเพิ่มประสิทธิภาพหรือประมาณค่าพารามิเตอร์ของรหัส[ 3 ] )

พิจารณาการใช้รหัส Rice ที่มีส่วนไบนารีขนาดbบิตเพื่อเข้ารหัสลำดับแบบ Run-length โดยที่Pมีความน่าจะเป็นpถ้าคือความน่าจะเป็นที่บิตจะเป็นส่วนหนึ่งของ Run kบิต ( P s และหนึ่งQ ) และคืออัตราส่วนการบีบอัดของ Run นั้น อัตราส่วนการบีบอัดที่คาดหวังคือ

โดยทั่วไป การบีบอัดข้อมูลมักแสดงในรูปของสัดส่วนที่ถูกบีบอัด สำหรับค่า วิธีการเข้ารหัสแบบ Run-Length Coding จะให้ค่าอัตราส่วนการบีบอัดที่ใกล้เคียงกับเอนโทร ปี ตัวอย่างเช่น การใช้ Rice Code สำหรับค่า จะได้ผลลัพธ์ ดังนี้อัตราการบีบอัด 91.89%ในขณะที่ขีดจำกัดเอนโทรปีคือ91.92 %

การเข้ารหัส Golomb–Rice แบบปรับความยาวได้

เมื่อไม่ทราบการแจกแจงความน่าจะเป็นสำหรับจำนวนเต็ม จะไม่สามารถกำหนดพารามิเตอร์ที่เหมาะสมที่สุดสำหรับตัวเข้ารหัส Golomb–Rice ได้ ดังนั้น ในหลายแอปพลิเคชัน จึงใช้วิธีการแบบสองขั้นตอน: ขั้นแรก จะทำการสแกนบล็อกข้อมูลเพื่อประมาณฟังก์ชันความหนาแน่นความน่าจะเป็น (PDF) สำหรับข้อมูล จากนั้นจึงกำหนดพารามิเตอร์ Golomb–Rice จาก PDF ที่ประมาณได้นั้น วิธีการที่ง่ายกว่านั้นคือการสมมติว่า PDF อยู่ในตระกูลพารามิเตอร์ ประมาณพารามิเตอร์ของ PDF จากข้อมูล แล้วจึงคำนวณพารามิเตอร์ Golomb–Rice ที่เหมาะสมที่สุด ซึ่งเป็นวิธีการที่ใช้ในแอปพลิเคชันส่วนใหญ่ที่กล่าวถึงด้านล่าง

แนวทางทางเลือกในการเข้ารหัสข้อมูลจำนวนเต็มที่มี PDF ไม่เป็นที่รู้จักหรือเปลี่ยนแปลงได้อย่างมีประสิทธิภาพ คือการใช้ตัวเข้ารหัสแบบปรับตัวย้อนหลัง ตัวเข้ารหัส RLGR [1]บรรลุเป้าหมายนั้นโดยใช้อัลกอริธึมที่ง่ายมากซึ่งปรับพารามิเตอร์ Golomb–Rice ขึ้นหรือลง ขึ้นอยู่กับสัญลักษณ์ที่เข้ารหัสตัวสุดท้าย ตัวถอดรหัสสามารถปฏิบัติตามกฎเดียวกันเพื่อติดตามการเปลี่ยนแปลงของพารามิเตอร์การเข้ารหัส ดังนั้นจึงไม่จำเป็นต้องส่งข้อมูลเสริมใดๆ เพียงแค่ข้อมูลที่เข้ารหัสเท่านั้น สมมติว่า PDF เป็นแบบเกาส์เซียนทั่วไป ซึ่งครอบคลุมสถิติหลากหลายที่พบในข้อมูล เช่น ข้อผิดพลาดในการทำนายหรือสัมประสิทธิ์การแปลงในตัวแปลงสัญญาณมัลติมีเดีย อัลกอริธึมการเข้ารหัส RLGR สามารถทำงานได้ดีมากในแอปพลิเคชันดังกล่าว

แอปพลิเคชัน

อัตราส่วนการบีบอัดจากการทดลองอัลกอริทึม Rice ที่เข้ารหัสแบบ Golomb

ตัวแปลงสัญญาณจำนวนมากใช้รหัส Rice สำหรับการทำนาย ค่าตกค้าง ในอัลกอริธึมการทำนาย ค่าตกค้างเหล่านี้มักจะตกอยู่ใน การกระจายแบบเรขาคณิตสองด้านโดยค่าตกค้างขนาดเล็กจะเกิดขึ้นบ่อยกว่าค่าตกค้างขนาดใหญ่ และรหัส Rice จะประมาณค่ารหัส Huffman สำหรับการกระจายดังกล่าวได้อย่างใกล้เคียงโดยไม่ต้องเสียเวลาในการส่งตาราง Huffman สัญญาณหนึ่งที่ไม่ตรงกับการกระจายแบบเรขาคณิตคือคลื่นไซน์เนื่องจากค่าตกค้างที่แตกต่างกันจะสร้างสัญญาณไซน์ที่มีค่าไม่ตรงกับการกระจายแบบเรขาคณิต (ค่าตกค้างสูงสุดและต่ำสุดมีความถี่ในการเกิดขึ้นสูงใกล้เคียงกัน มีเพียงค่าตกค้างบวกและลบค่ามัธยฐานเท่านั้นที่เกิดขึ้นน้อยกว่า)

ตัวแปลงสัญญาณเสียงแบบไม่สูญเสียข้อมูลหลายตัวเช่น Shorten [ 4 ] FLAC [ 5 ] Apple Lossless และ MPEG - 4 ALSใช้รหัส Rice หลังขั้นตอนการทำนายเชิงเส้น (เรียกว่า "ตัวกรอง FIR แบบปรับได้" ใน Apple Lossless) การเข้ารหัส Rice ยังใช้ในตัวแปลงสัญญาณภาพแบบไม่สูญเสียข้อมูล FELICS ด้วย

ตัวเข้ารหัส Golomb–Rice ถูกใช้ในขั้นตอนการเข้ารหัสเอนโทรปีของ ตัวแปลงสัญญาณภาพแบบ ไม่สูญเสียข้อมูลตาม อัลก อริทึม Riceการทดลองหนึ่งได้ผลลัพธ์เป็นกราฟอัตราส่วนการบีบอัดดังแสดงในภาพ

รูป แบบ JPEG-LSใช้ Rice–Golomb ในการเข้ารหัสค่าความคลาดเคลื่อนของการทำนาย

การเข้ารหัส Golomb–Rice เวอร์ชันปรับตัว RLGR ที่กล่าวถึงข้างต้น[2]ใช้สำหรับการเข้ารหัสเนื้อหาหน้าจอในเครื่องเสมือนใน ส่วนประกอบ RemoteFXของโปรโตคอลเดสก์ท็อประยะไกลของ Microsoft นอกจากนี้ยังใช้ในมาตรฐาน G-PCC MPEG ISO/IEC 23090‑9 ล่าสุดสำหรับการบีบอัดคุณลักษณะจุดเมฆ

ดูเพิ่มเติม

อ่านเพิ่มเติม

  • Golomb, Solomon W. (1966). การเข้ารหัสความยาวรัน IEEE Transactions on Information Theory, IT--12(3):399--401
  • Rice, Robert F.; Plaunt, R. (1971). "การเข้ารหัสความยาวแปรผันแบบปรับได้เพื่อการบีบอัดข้อมูลโทรทัศน์จากยานอวกาศอย่างมีประสิทธิภาพ" IEEE Transactions on Communications . 16 (9): 889– 897. Bibcode : 1971ITCoT..19..889R . doi : 10.1109/TCOM.1971.1090789 .
  • Robert F. Rice (1979), " เทคนิคการเข้ารหัสแบบไร้เสียงรบกวนสากลที่ใช้งานได้จริงบางประการ ", ห้องปฏิบัติการเจ็ทโพรพัลชัน, พาซาดีนา, แคลิฟอร์เนีย, เอกสารเผยแพร่ JPL หมายเลข 79—22, มีนาคม 1979
  • วิทเทน, เอียน มอฟแฟต, อลิสแตร์ เบลล์, ทิโมธี. "การจัดการกิกะไบต์: การบีบอัดและการจัดทำดัชนีเอกสารและรูปภาพ" ฉบับพิมพ์ครั้งที่สอง สำนักพิมพ์มอร์แกน คอฟแมนน์ ซานฟรานซิสโก แคลิฟอร์เนีย 1999 ISBN 1-55860-570-3
  • เดวิด ซาโลมอน. "การบีบอัดข้อมูล", ISBN 0-387-95045-1.
  • HS Malvar, การเข้ารหัสแบบ Adaptive run-length/Golomb–Rice สำหรับแหล่งข้อมูล Gaussian ทั่วไปแบบควอนไทซ์ที่มีสถิติที่ไม่ทราบค่า , Proc. Data Compression Conference, 2006.
  • การเข้ารหัสเอนโทรปี RLGR , ข้อกำหนดแบบเปิด Microsoft MS-RDPRFX, ตัวแปลงสัญญาณ RemoteFX สำหรับโปรโตคอลเดสก์ท็อประยะไกล
  • S. Büttcher, CLA Clarke และ GV Cormack. การค้นหาข้อมูล: การนำไปใช้และการประเมินเครื่องมือค้นหาเก็บถาวรเมื่อ 5 ตุลาคม 2020 ที่Wayback Machine . สำนักพิมพ์ MIT, เคมบริดจ์ แมสซาชูเซตส์, 2010.
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Golomb_coding&oldid=1345943629 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ การเข้ารหัสแบบโกลอมบ์

การเข้ารหัส Golomb เป็น วิธี การบีบอัดข้อมูลแบบไม่สูญเสียข้อมูล โดยใช้ตระกูล รหัส การบีบอัดข้อมูล ที่คิดค้นโดย Solomon W.

การเข้ารหัสข้าว

การเข้ารหัสแบบ Rice (คิดค้นโดย Robert F. Rice ) หมายถึงการใช้ชุดย่อยของตระกูลรหัส Golomb เพื่อสร้างรหัสคำนำหน้าแบบง่ายๆ (แต่อาจไม่เหมาะสมที่สุด) Rice ใช้ชุดรหัสนี้ใน แผนการ เข้ารหัสแบบปรับตัวได้ "การเข้ารหัสแบบ Rice"...

ภาพรวม

ตัวอย่างการเข้ารหัส Golomb สำหรับแหล่งข้อมูล x ที่มีการแจกแจงแบบเรขาคณิต โดยมีพารามิเตอร์ p (0) = 0.

การสร้างรหัส

การเข้ารหัสแบบ Golomb ใช้พารามิเตอร์ที่ปรับได้ M เพื่อแบ่งค่าอินพุต x ออกเป็นสองส่วน คือ q ซึ่งเป็นผลลัพธ์ของการหารด้วย M และ r ซึ่งเป็นเศษเหลือ ผลหารจะถูกส่งใน รูปแบบการเข้ารหัสแบบเอกภาค ตามด้วยเศษเหลือในรูป แบบการเข้ารหัสแบบไบนารีแบบตัดทอน เมื่อM = 0...