## 1 Introduction  
With the advent of compact electronic devices embedded with cameras, there is a driving need to build affordable, efficient, and feature-rich cameras, consequently providing several types of cameras, including CCTV, drone cams, and car dashcams. These cameras can be further enhanced to provision communication by using minor software changes [1]. Meanwhile, in recent years, the problem of radio-frequency (RF) spectral saturation has led to increased issues related to cross-talk and bandwidth allocation [2]. Thus, to reduce RF saturation and provide alternative communication techniques, the IEEE 802.15.7r1 task group was established to investigate camera-based visible-light communication (VLC), also known as optical camera communication (OCC) [3]. Compared to photodiode-based VLC, OCC can be quickly adopted as, unlike the former, it does not need dedicated hardware, and existing devices can be readily used [4]. In OCC, the transmitter (Tx) is typically based on light-emitting diodes (LEDs) that support a range of chromatic values, thus providing access to the visible-light spectrum for modulation. The signal is modulated using light properties such as intensity, blink frequency, polarity, chromaticity, and spatiality [5]. On the receiver (Rx) side, depending on the modulation scheme, these features are extracted from the video stream, and corresponding signal demodulation and data reconstruction are performed. In an environment where the distance and orientation between Tx and Rx are constant, demodulation is performed using preset region-of-interest (RoI) extraction [6]. However, support for variable distance and orientation is required for a practical system. Moreover, as the signal is demodulated using image frames, the frame rate of the camera defines the data rate and throughput of the OCC link [7]. A theoretical model highlighting the relation between camera properties and LED illuminance was described [8]. Although higher-frame-rate cameras can provide higher data rates, they are costlier than regular cameras, which restricts their deployment to a few specific use cases. Considering these limitations, the performance of OCC can be improved by using spatially arranged multiple neopixel LEDs [9] or display screens [10]. The significant challenges of an OCC system are Tx detection, MIMO, the distance of communication, and rotation mitigation or tolerance. The Tx in OCC can be identified using the luminance characteristics or the shape of the Tx aperture. [PERSON] et al. [11] proposed a simple LED panel detection algorithm that identifies the brightest pixel and performs convex fill to obtain the RoI. Simulated results showed decreasing accuracy in RoI identification with increasing distance. However, the proposed system was not tested under practical scenarios where multiple bright pixels might exist. The author of [12] introduced convolutional neural networks (CNNs) for RoI detection; however, the Tx and Rx were restricted to be arranged in parallel without rotation or skew. [PERSON] et al. [13] proposed a hybrid technique for LED panel detection using a modified YOLOv5 object detection model. Although the proposed technique achieved high accuracy for rotated and skewed normal and blurry images, it was computing-intensive. A nonflickering OCC Tx was proposed, but most have distance limitations due to the relation among Tx size, distance, and throughput [4; 14; 15]. Thus, the IEEE 802.15.7-2018 standard specifies clauses for OCC modulation techniques that allow for flickering, and provide kbps data rates using dedicated LED panels and displays. Moreover, these transmitters can offer multiple-input multiple-output (MIMO) for Internet of Things (IoT) devices in an indoor environment. In an OCC system, MIMO can be provisioned using frequency- or color-based modulation techniques. [PERSON] et al. [16] proposed and demonstrated MIMO-OFDM using two Tx sources and achieved a combined throughput of 3.840 kbps for a fixed distance.