Кіріспе
Жоғалмалы деректерді сығымдау әдісі. Голомб кодтау – 1960 жылдары Соломон В. Голомб өнертапқан деректерді сығымдау кодтарының тобын пайдаланатын жоғалмалы деректерді сығымдау әдісі. Геометриялық үлестірімге сәйкес келетін әріптер үшін Голомб коды оптималды префикс коды болып табылады, бұл Голомб кодтауды кіріс ағынындағы кіші мәндердің үлкен мәндерге қарағанда әлдеқайда жиі кездесетін жағдайларда өте тиімді етеді.
Golomb coding is a lossless data compression method using a family of data compression codes invented by Solomon W. Golomb in the 1960s. Alphabets following a geometric distribution will have a Golomb code as an optimal prefix code, making Golomb coding highly suitable for situations in which the occurrence of small values in the input stream is significantly more likely than large values.
Күріш кодтау
Райс кодтау (Роберт Ф. Райс тапқан) – Голомб кодтары отбасының ішіндегі белгілі бір жиынды қолданып, қарапайым (бірақ мүмкін толыққанды емес) префикс кодты жасауды білдіреді. Райс осы кодтар жиынтығын бейімделіп кодтау схемасында қолданды; «Райс кодтау» осы бейімделіп кодтау схемасын немесе Голомб кодтарының осы жиынтығын пайдалануды білдіре береді. Голомб кодының реттелетін параметрі кез келген оң бүтін сан болуы мүмкін болса, Райс кодтарында реттелетін параметр екінің дәрежесі болып табылады. Бұл Райс кодтарын компьютерде қолдануға қолайлы етеді, себебі 2-ге көбейту және бөлу бинарлық арифметикада тиімдірек орындалады. Райс геометриялық үлестірімдер көбінесе уақытқа байланысты өзгеретіндігі, нақты белгісіздігі, немесе екеуінің бірдей болуы салдарынан, ең жақсы кодты таңдау аса пайдалы болмайтынын ескеріп, осы қарапайым жиынды ұсынуға себеп болды. Райс кодтау жоғалтусыз кескіндерді және аудио деректерді сығымдау әдістерінде энтропиялық кодтау кезеңі ретінде қолданылады.
Қолтаңбаланған бүтін сандармен пайдалану
Голомб схемасы теріс емес сандар тізбектерін кодтау үшін жасалған. Дегенмен, оны теріс сандарды қамтитын тізбектерді қабылдауға оңай кеңейтуге болады, бұл ретте барлық мәндер бірегей және қайтымды түрде оң санға қайта тағайындалады. Тізбек былай басталады: 0, −1, 1, −2, 2, −3, 3, −4, 4, … . n-ші теріс мән (яғни, −n) n-ші тақ санға (2n − 1) сәйкестендіріледі, ал m-ші оң мән m-ші жұп санға (2m) сәйкестендіріледі. Бұл математикалық түрде былай көрсетілуі мүмкін: оң мән x –ге , ал теріс мән y –ге сәйкес келеді. Мұндай кодты қарапайымдылық үшін, тіпті оңтайлы болмаса да қолдануға болады. Екі жақты геометриялық үлестірімдер үшін нақты оңтайлы кодтар Голомб кодінің бірнеше нұсқаларын қамтиды, оның ішінде осы коді де бар, және олар үлестірім параметрлеріне байланысты өзгереді.