Numerous studies have proposed ways to accelerate CCL.
The proposed solutions on CPU can be summarized into two classes: label propagation algorithms and label-equivalence-based algorithms [1]}.
The approaches [2]} [3]} based on label propagation often find an unlabeled pixel using raster scan and give it an unused label; then, the label is propagated to all the pixels in the same region in an irregular way, such as tracing the object's contour [4]}.
These approaches are not suitable for parallel implementation and hardware implementation because of the existence of the irregular scan.
The methods [5]} [6]} [7]} [8]} [9]} on the basis of label-equivalence solve the CCL issue with multiple raster scans.
Provisional labels, often associated with the pixel position in the image or in a specific row, are assigned to all the pixels in the first scan; the label-equivalence lists are constructed based on the pixel connectivity and resolved with root-find algorithms in the other steps.
Since the pixels are processed in a regular way, it is feasible to extend these methods into parallel implementation and hardware implementation [10]} [11]}.
Until recently, the use of GPUs with interfaces such as CUDA [12]} or OpenCL [13]} finds countless applications in both industry and academia areas.
The parallel extension and improvement of serial CCL algorithms are significant advances to enhance the real-time property.
For the algorithms developed on GPUs, data parallelization across multiple processors [14]} [15]} plays an important role in computing with multiple processing elements in parallel.
Generally, the different data parallelization approaches lead to different computation algorithms.
According to the various ways of managing data, the reported solutions for CCL on GPUs can be classified into three types: pixel-based algorithms, block-based algorithms, and line-based algorithms.
The first type extends the label-equivalence-like algorithms into parallel ones directly by considering each individual pixel or the pixels in a small group as a computation unit.
The other two types first divide images into independent sections, blocks or lines, then perform local labeling and section merge to solve the CCL.
