41 views

Uploaded by Elliot Steenson

save

You are on page 1of 4

Using Run-Length Encoding

Wook-Joong Kim, Seong-Dae Kim, and Kyuheon Kim

ABSTRACT⎯Fast binary dilation and erosion algorithms using run-length encoding (RLE) [1] are proposed. A run is a

using run-length encoding (RLE) are proposed. RLE is an sequence of ‘1’ (or ‘0’) pixels horizontally (or vertically), and

alternative way of representing a binary image using a run, RLE is a representation of a binary image using a combination

which is a sequence of ‘1’ pixels. First, we derive the run-based

of runs. Handling binary images in runs, rather than in pixels,

representation of dilation and erosion and then present the full

steps of the proposed algorithms in detail. can bring a considerable reduction in computation because the

number of runs is usually much smaller than the number of

Keywords⎯Binary image processing, morphological pixels. Previously, several ideas for run-based morphological

operator, run-length encoding. operations were presented in [2]-[4]. Piper and Tang [2]

introduced the concept of using RLE for binary morphological

I. Introduction operations, and Cardoner and Thomas [3], [4] applied the

concept for skeletoning and line drawing. However, a detailed

Morphological operators are some of the most fundamental theoretical background and an effective algorithm with full

and popular nonlinear tools for various binary image numerical analysis have yet to be presented.

processing. Morphological operators are constructed by In section II, we provide a mathematical investigation on

combining two basic operators: dilation and erosion. Assuming dilation and erosion in terms of runs, and in section III, fast

that Z is a region in binary image I, the dilation and erosion of Z algorithms for dilation and erosion are proposed based on the

by structuring element S are defined as investigation. The proposed algorithms have inputs and outputs

{

Dilation: Z ⊕ S = p Sˆ p ∩ Z ≠ 0 } (1)

as run-length encoded forms. In section IV, simulation results

are presented, and we conclude in section V.

{

Erosion: Z Θ S = p S p ⊆ Z , } (2)

II. Dilation and Erosion Using RLE

where Ŝ is the reflection about the origin and Sp is the For the sake of simplicity, a run is considered as a sequence

translation by position p. All other morphological operators are of ‘1’ pixels in the horizontal direction throughout this paper.

defined by concatenating the two operators. For example, the Assume that binary image I has region Z of ‘1’ pixels, and the

opening operator is defined by dilation after erosion, and the RLE representation of Z is defined as Z = ∪ Nn=1 Rn , where N is

closing operator is defined by erosion after dilation. the number of runs, and Rn= <xLn, xRn, yn> is the n-th run of

In this paper, fast binary dilation and erosion algorithms Z. The xLn, xRn, and yn of Rn respectively indicate the x-

coordinate of the left-most (starting) pixel, the x-coordinate of

Manuscript received Feb. 16, 2005; revised Aug. 26, 2005.

Wook-Joong Kim (phone: +82 42 860 6123, email: wjk@etri.re.kr) and Kyuheon Kim

the right-most (ending) pixel, and the y-coordinate of Rn.

(email: kkim@etri.re.kr) are with Digital Broadcasting Research Division, ETRI, Daejeon, Regarding RLE, we define a ‘compact representation of

Korea.

RLE’ when concatenated ‘1’ pixels are defined as a single run,

Seong-Dae Kim (email: sdkim@sdvision.kaist.ac.kr) is with the Department of Electrical

Engineering, KAIST, Daejeon, Korea. not divided into several runs with or without overlapping.

814 Wook-Joong Kim et al. ETRI Journal, Volume 27, Number 6, December 2005

xRmS : y mS and RnZ = xLZn . Z n N ⎡M = ∪ ⎢ ∪ Rˆ mS n =1⎣ m =1 ( ) p ⎤ N M ∩ RnZ ⎥ = ∪ ∪ Rˆ mS ⎦ n =1 m =1 [( ) p ] ∩ RnZ . the erosion operation is identifying all possible ( ) p n ( = ∪ Nn=1 ∪ Mm=1 RnZ ⊕ RmS . it is the same as finding all ( ) Hence. we have [ ( Z Θ S = ∩ Mm=1 ∪ Nn=1 RnZ Θ RmS . the erosion of Z by a single run R is defined as and Z is expressed as { } { Z Θ R = p R p ⊆ Z = p R p ⊆ ∪ Nn=1 RnZ ( )} ⎡N ⎤ N Sˆ p ∩ Z = Sˆ p ∩ ⎢ ∪ RnZ ⎥ = ∪ Sˆ p ∩ RnZ [ ] { } (8) ⎣n =1 ⎦ n =1 (3) = ∪ Nn=1 p R p ⊆ RnZ = ∪ Nn=1 [R Θ R]. xRnZ : y nZ . yd). and (iii) when the left. Dilation Using RLE = {p (R ) ⊆ Z }∩ ∩ {p (R ) S 1 p S M p ⊆Z } Here. unnecessary { } { ZΘS = p S p ⊆ Z = p ∪ Mm=1 RmS ( ) p ⊆Z } computation is required due to redundancy among the runs. 815 . the dilation of Z by S is expressed as III. (6) n =1 m =1 In this section. ⎫⎤ ⎢ ⎪ n m n m n m ⎪⎥ M ⎢ ⎪ = ∩ ⎢∪⎨ N S ( if xRm − xLm ≤ xRn − xLZn S Z ) ( ) ⎪⎥ . Therefore. Let [ = ∩ Mm=1 Z Θ RmS . Therefore. S Z RmS = xLSm . Run R1 includes R2 in the following situations: (i) when the length of R1 is equal Therefore. December 2005 Wook-Joong Kim et al. we have compactly represented. Regarding dilation RnZ ⊕ RmS . { [( ) ∩ R ] ≠ 0} = ∪ Nn=1 ∪ Mm=1 p Rˆ mS Z (4) From (2). ) positions p where RmS p is included in RnZ . erosion. a run-based expression of dilation is presented. respectively. the two runs RnZ and ( Rˆ mS ) p overlap when obtain − y mS + y d = y nZ − y mS + y d = y nZ Z ΘS or (5) xL ≤ − xL + xd ≤ xR Z n S m Z n xL ≤ − xR + xd ≤ xR . where p= (xd . Number 6.and right-most pixels of R2 are within R1. Proposed Algorithms N M Z ⊕ S = ∪ ∪ xLZn + xLSm . To have further operation with the ETRI Journal. the dilation of Z by S is the same as the union of the to or longer than R2. modifying (10) and applying it into (9). Combining (7) and (8).Unless a compact run-length encoding is made. )] (9) { }{ Z ⊕ S = p Sˆ p ∩ Z ≠ 0 = p ∪ Nn=1 ∪ Mm=1 Rˆ mS [( ) p ] } ∩ RnZ ≠ 0 Next. translated reflection of RmS can be represented as ( Rˆ mS ) p = − xRmS + xd . xR Z − xR S : y Z − y S . a run-based representation of erosion is presented. However. possible positions where RnZ and ( Rˆ mS ) p overlap. Z n S m Z n ⎡ ⎧ xLZ − xLS . the proposed dilation and erosion algorithms are presented. The outcomes from (6) and (11) are the results for dilation or Now. ) ( ) can have an overlapping relation when they are located at the From ( ii) ⇒ y mS + y d = y nZ . (10) same y position and share more than one pixel. For a given xLm + x d ≥ xLn . Before presenting the algorithms. xRnZ + xRmS : y nZ + y mS . Two runs ( From ( i ) ⇒ xRmS − xLSm ≤ xRnZ − xLZn . erosion of Z by S is expressed as Applying (3) into the dilation definition (1). Volume 27. The intersection of Ŝp Meanwhile. (11) ⎬⎥ Modifying (5). Erosion Using RLE primary runs as the runs generated from (6) or (11). we finally Hence. we define 2. { [( ) ∪ ∪ (R ) ] ⊆ Z } = p R1S p S M p (7) 1.− xLSm + xd : − y mS + y d . ⎢⎣ ⎪⎩φ . RnZ includes RnS p when the following are true. ] Z = ∪ Nn=1 RnZ and S = ∪ Mm=1 RmS be the compact RLE representation of Z and S. let’s consider the erosion of single runs: RnZ Θ RmS . we obtain m =1 n =1 ⎢ ⎪ ⎪⎥ y d = y nZ + y mS . (ii) when they are at the same y position. otherwise ⎪⎥ ⎭⎦ xLZn + xLSm ≤ xd ≤ xRnZ + xRmS . dilation of each run of Z by each run of S. the From (iii) ⇒ xRmS + x d ≤ xRnZ . it is not guaranteed that primary runs are From the definition of erosion (2).

but a certain index value m among [1. a structuring element is regarded as a filter erosion algorithm needs more consideration than the dilation window and is scanned throughout all possible pixels. Output: compact representation of ZΘS . primary runs are obtained in step 1. Volume 27. Assuming z and s are the number of pixels in Z and S. but at least. find N × M primary runs by (6). dilation and erosion are proportional to O( z × s) 1). algorithms. Test image and structuring element. performance. 256 × 256 pixels. Number 6. find a primary run using (11). To show their them into one. Sort the primary runs by the value of a y-coordinate. Sort the primary runs by the values of a y-coordinate. if: (a) ‘Symbol’ image (b) Structuring element ① The number of primary runs at a certain y-coordinate is less than M. Step 2. For each primary run. erosion. shows the test image and structuring element used for our simulations. December 2005 . IV. Figure 1 algorithm due to the finding of intersections of primary runs. Hence. respectively. that is. Step 2. go to step 4. M] is missing. Repeat the following two operations until no overlapping or inclusion of primary runs exists: In this section. 1 and identify the runs that have the same y-coordinate. Procedure: -1 0 1 Step 1. it can provide the strengths primary runs using (6) and then eliminate redundancy among of the proposed algorithms from a qualitative perspective. A them. always satisfied. a compacting process. eliminating unnecessary primary runs in step 3. The vertical axis from step 3. The index is additional information that helps to identify which run of S is used for obtaining a 0 primary run. This comparison may not be able to show The flow of the dilation algorithm is straightforward: Obtain quantitative evidence. the proposed erosion algorithm is presented. ETRI Journal. the proposed dilation and erosion algorithms require to eliminate unnecessary computations. Otherwise.…. we show how much computational reduction ① If any two runs overlap as similarly to (5). can conclude that O( z × s ) > O((N × M ) ⋅ (1 + log( N × M ) )) is and identify the runs that have the same y-coordinate. terminate the process. combine can be obtained from the proposed algorithms. The image is composed of 380 runs and its size is Input: compactly run-length encoded Z and S. O( N × M + sorting ( N × M )) operations. Pixel-unit erosion In the case of erosion. 1. or Fig. modified as O((N × M ) ⋅ (1 + log( N × M ) )) . Compared that is. delete the included run. we Step 1. opening. The filtering. Using runs of Z and S. the The proposed dilation algorithm is as follows: computational complexity for fast sorting of N numbers is proportional to O( sorting ( N )) = N log( N ) . Find the common regions of all the runs that survived dilation. The results show that the proposed algorithms require only Let’s consider the computational complexity of the proposed less than 9% of computation time for pixel-unit processing. Because z × s Procedure: is always bigger than N × M without losing generality. pixel-unit processing is implemented as two dimensional Next. Using runs of Z and S. Figure 2 shows a comparison of computation times for Step 4. we compared the execution times between the ② If any a primary run is included in another primary run proposed algorithms and their pixel-unit processing under the as similarly to (10). same machine. and closing. Simulations Step 4. Eliminate all primary runs at a certain y-coordinate. represents the elapsed time after 1000 repetitions. an additional process for removing redundancy. Generally. and takes less time than pixel-unit dilation because scanning is the intersection of primary runs is calculated in step 4 after restricted to the input regions. the Input: compactly run-length encoded Z and S. If more than two runs exist at a certain y-coordinate. Step 3. ② The number is more than or equal to M. Step 3. computational complexity of the proposed algorithms can be Output: compact representation of Z ⊕ S . among primary runs is required to this. store an index that indicates the m -1 of S = ∪ Mm=1 RmS . the computational complexity of pixel-unit 1) O( y ) = Order of ( y ) 816 Wook-Joong Kim et al.primary runs. and the ratio of the execution time is shown at the bottom.

” Computer Vision. Jan. Min-Ho Park. no.Y. 1989. “Residuals + Directional Gaps = Skeletons. pp. no. 6. The computation times for 1000 repetitions of each operation using a PC with a 1. Pattern Recognition and Artificial Intelligence. 11. ETRI Journal. The proposed algorithms are developed based on the run-based expressions of dilation and erosion as described in section II. [2] L. pp. May 1997. Lee. Dec. V. Volume 27. 4. 41. “A New Chain-Coding Algorithm for Binary Images Using Run-Length Codes. and Image Proc.21.519 1 0. and Yong-Il Kim.4.874 7. “An Application of Canonical Correlation Analysis Technique to Land Cover Classification of LANDSAT Images. no. 201-209.59 GHz CPU and 1 Gbyte RAM.41-51. and J. Conclusions In this paper. 18. pp. 817 . [3] R. “Efficient Morphological Set Transformations on Line Drawings. vol. References [1] S. vol. Number 6. Thomas. 1997.01%) (2.” Int’l J. 1.316 0. Sep... vol. Cardoner and F.126 0. Graphics. fast RLE-based dilation and erosion algorithms are presented.” Pattern Recognition Letters. Tang. Thomas. 1999. In addition to the fast computing performance of the proposed algorithms.235 0 Dilation Erosion Opening Closing (1. vol. J. Piper and J. Cardoner and F. pp. 3. “Erosion and Dilation of Binary Images by Arbitrary Structuring Elements Using Interval Coding. no. Pixel-unit operation Proposed algorithms 9 7.68%) (8. 114 - 128.107 0. no. 1988. Kim. December 2005 Wook-Joong Kim et al. 9.” Pattern Recognition Letter. pp. [5] Jong-Hun Lee. we believe that the run-based investigation on morphological operators can also be used in various image processing applications [5] and as instructive information for the further development of relevant technologies.895 8 7 6. 947-960. 343-353. [4] R.98%) Fig. Kim. vol. Apr.375 6 S 2 1.” ETRI J.3%) (4. 2.

- W5 Queueing TheoryUploaded byAngel
- 689 ChiangUploaded byChuang James
- Design and Analysis of AlgorithmUploaded byJenloDiamse
- Problem solving methods.pptUploaded bySurendra Gupta
- Improving Degraded Document Images Using Binarization TechniqueUploaded byIJSTR Research Publication
- 101Uploaded byieom2012
- Tugas Pengantar Skripsi UnudUploaded byGung Jaya
- br3-u3Uploaded byapi-233970717
- Unit 3Uploaded byijaisa77
- Bits and Bytes - Lesson 1Uploaded bymiguelteixeirama
- bridges 3rd grade unit 3Uploaded byapi-289263859
- ComputingUploaded bykodatic
- 11721163 500 Important Spoken Tamil Situations Into Spoken English Sentences SampleUploaded byrainbow computers
- 02 DS and Algorithm Session 02Uploaded byDaya Nand Mishra
- 06919082Uploaded byhvactrg1
- Decoupling Markov Models From Information Retrieval Systems in Molecular Analysis SimulationUploaded byfandango1973
- Bin PackingUploaded bysheetal taneja
- Sorbite: A Methodology for the Understanding of Semaphores.John+Haven+EmersonUploaded byJohn
- Prisoner EscapeUploaded byAchin Prakash
- Skmm3023 Ch01.Engineering.problem.solving Beamer 2Uploaded byMohamad Khairul Mohd Noor
- 10.1.1.46.3802Uploaded by2009uit110
- A Design and Development of E-learningUploaded byAnonymous F1whTR
- Eye State Detection Using Image Processing TechniqueUploaded byAJER JOURNAL
- Implementation of Banker’s Algorithm Using Dynamic Modified ApproachUploaded byEditor IJRITCC

- The Shell1Uploaded bySuravi Dutta
- 56 Cs Aptechtraining 1500 QuestionsUploaded byscs4852
- Exception Class SummaryUploaded byBarbara De Vido
- Emc 257758Uploaded byBahman Mir
- ARM 9 WEB ServerUploaded byNagraj Tondchore
- E2_Lab_2_8_1[1]Uploaded byMichael Herrick
- informe winaudiUploaded byaslv1224
- DefinicionPAUploaded byAparicio Carrasco Borda
- RSLogix 500-7-10_Release NotesUploaded byEr. Piush Jindal
- LAB 6 FIR EstructurasUploaded byAndrés F González
- SolverUploaded byMaribel Tarazona
- Categories, Category Sets and Default Category Set Up for Oracle InventoryUploaded bySaumit Mandal
- 296907330-Andriod-Based-Student-Handbook.docxUploaded byHolla Seth
- A Revised AODV Protocol With QoS for Mobile Ad Hoc NetworkUploaded byMohamed Abdelli
- Plantilla para Plan de Desarrollo SoftwareUploaded byMilca Coronel de Sanabria
- Soft CopyUploaded byKiran Sawant
- Manual for SeismicUploaded bypachernyangyuen
- Sentiment Analysis and Classification of Tweets using Data MiningUploaded byIRJET Journal
- FAZ Acta ConstitutivaUploaded byFernández Galván José Alejandro
- c++Uploaded byfariha faryal
- I3 Algorithmique Parallele 1Uploaded byamazoz abdou
- 1m6 Cfcall Bb Configguide en Xx (1)Uploaded byDoğancan Koşal
- McAfee NGFW Reference Guide for Firewall VPN Role v5-7Uploaded byaniruddha_ratil
- AF Manual Instalacion Usuarios ESUploaded bySergio Santana
- SQR ManualUploaded byPrabu E Prabu
- Capitulo01 Notas de AulaUploaded bySandro Marcelo Arpi
- Ensayo SQLUploaded bypatriciacd_19
- IBM Cloud IAM TCO AssessmentUploaded byVictor Chu
- vCUDA (1)Uploaded byjeganathan
- Segurança de RedesUploaded byAldoBëlfia