کدبندی طول اجرا

از ویکی‌پدیا، دانشنامهٔ آزاد
(تغییرمسیر از Run-length encoding)

کدبندی طول اجرا (به انگلیسی: Run-Length Encoding (RLE)) یک شکل ساده از فشرده‌سازی داده‌ها است که در آن داده‌های یکسان پشت سر هم به صورت مقادیر تکی و تعداد تکرارشان ذخیره می‌شوند.[۱][۲]

مثال[ویرایش]

به عنوان مثال، یک صفحهٔ سفید حاوی متن سیاه ساده در نظر بگیرید. ممکن است اجراهای طولانی زیادی از پیکسلهای سفید در فضای خالی وجود داشته باشد و اجراهای کوتاه زیادی نیز از پیکسل‌های سیاه در داخل متن سیاه‌رنگ یافت شود. برای درک بهترِ، یک خط اسکن‌شدهٔ فرضی را در نظر بگیرید که در آن B نشان‌دهندهٔ پیکسل‌های سیاه و W نمایندهٔ پیکسیل‌های سفید است:

WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWBWWWWWWWWWWWWWW

با اعمال کدبندی طول اجرا برای خط اسکن‌شدهٔ فرضی بالا، کد زیر به دست می‌آید:

12W1B12W3B24W1B14W

که به صورت دوازده W یک B دوازده W سه B بیست و چهار W یک B و چهارده W تفسیر خواهد شد.[۳]

این کد run-length، شصت و هفت نویسه اصلی را تنها در هجده نویسه نشان می‌دهد. البته معمولاً برای ذخیره‌سازی تصاویر از قالب دودویی به جای اَسکی استفاده می‌شود، اما اصل کار یکسان خواهد بود.

منابع[ویرایش]

  1. "Run Length Encoding Patents". Internet FAQ Consortium. 21 March 1996. Retrieved 14 July 2019.
  2. "Method and system for data compression and restoration". Google Patents. 7 August 1984. Retrieved 14 July 2019.
  3. "Data recording method". Google Patents. 8 August 1983. Retrieved 14 July 2019.