[en] The emergence of new applications such as autonomous machines (e.g., robots or self-driving cars) and XR (Extended Reality) promises to revolutionize how society interacts with technology in the rapidly advancing digital era. These technologies, deployed on edge devices, often rely on mobile or embedded SoCs (Systems-on-a-Chip) operating CV (Continuous Vision) pipelines that periodically capture and analyze environmental light. A typical CV SoC comprises two main components: a frontend for image capture and a backend for processing vision algorithms. The frontend usually includes an off-chip camera sensor and an ISP (Image Signal Processor), which processes the pixel stream, converting raw sensor data into high-quality images. The backend—comprising components such as the CPU, GPU, or specialized accelerators—analyzes the images stored in the main memory's framebuffer to extract perception insights and enable advanced decision-making. Existing research identifies visual localization, object detection, and tracking as the primary bottlenecks in these emerging applications. Those algorithms face two principal challenges when deployed in mobile CV systems: latency and energy consumption. For example, an XR headset uses visual localization to track head motion for accurate frame rendering, where latency can cause discomfort. In self-driving cars, localization ensures centimeter-level precision, with delays compromising safety, especially at higher speeds. Additionally, high energy consumption limits the operation of battery-powered mobile systems. This thesis embarks on a strategic journey to elevate mobile CV systems' performance and energy efficiency through several key contributions: We begin by analyzing a state-of-the-art visual localization engine on a CPU. The localization engine processes camera images, extracting and tracking features to estimate camera pose. Our evaluations reveal feature extraction as the primary bottleneck, accounting for 60% to 90% of total localization latency. Next, we investigate highly specialized hardware accelerator designs for image processing. The first contribution is LOCATOR (Low-power ORB Accelerator for Autonomous Cars), a hardware accelerator designed for ORB (Oriented FAST and Rotated BRIEF) feature extraction. LOCATOR processes image tiles with two parallel pipelines for feature detection and description, employing techniques like optimal static bank access patterns, caching mechanisms, and selective port replication. These optimizations yield a 16.8× speedup for ORB feature extraction, 1.9× end-to-end speedup, and 2.1× energy reduction per frame compared to a baseline mobile CPU. Realizing the need for more programmable and versatile solutions, our second contribution, SLIDEX (Sliding Window Extension for Image Processing), introduces a domain-specific vector ISA extension for CPUs. SLIDEX exploits the sliding window processing model, interpreting vector registers as overlapping windows to maximize data-level parallelism. SLIDEX reduces data access and movement, enhancing tasks like 2D convolutions and stencil operations, resulting in a 1.2× speedup and up to 19% energy reduction. The third contribution, δLTA (δon't Look Twice, It's Alright), decouples camera frame sampling from backend processing. δLTA allows the frontend to identify and skip redundant image regions, focusing processing only on significant changes. δLTA reduces unnecessary memory accesses and redundant computations, lowering localization tail and average latency by 7.2% and 15.2%, respectively, and energy consumption by 17%. Finally, IRIS (Image Region ISP-Software Prioritization) repurposes computations performed by the frontend ISP, segmenting and prioritizing image regions based on detail and motion. IRIS allows the backend to process relevant regions first, reducing latency and energy consumption by up to 9% in tail latency, 20% in average latency, and 16% in energy savings without additional overhead.

[es] La aparición de nuevas aplicaciones como máquinas autónomas (p. ej., robots o coches autónomos) y RE (Realidad Extendida) promete revolucionar la interacción de la sociedad con la tecnología en la era digital. Estas aplicaciones, desplegadas en dispositivos edge, a menudo dependen de SoCs móviles que operan pipelines de VC (Visión Continua) para capturar y analizar la luz ambiental. Un SoC típico de VC consta de dos componentes principales: un frontend para la captura de imágenes y un backend para el procesamiento de los algoritmos de visión. El frontend incluye un sensor de imágenes y un ISP (Image Signal Processor), que convierte los datos sin procesar del sensor en imágenes de alta calidad. El backend, que incluye componentes como la CPU, GPU o aceleradores, analiza las imágenes almacenadas en un buffer de la memoria principal para permitir la toma de decisiones. Las investigaciones actuales identifican la localización y la detección y seguimiento de objetos como los principales cuellos de botella en las aplicaciones emergentes de visión. Estos algoritmos enfrentan dos desafíos en sistemas móviles de VC: latencia y consumo de energía. La latencia puede causar mareos en los usuarios en un casco de RE que utilice la localización para estimar la posición de la cabeza para renderizar los frames. En los coches autónomos, la localización asegura una precisión de centímetros por lo que un error o retraso compromete gravemente la seguridad. Además, el consumo de energía limita la operación de los sistemas alimentados por baterías. Esta tesis emprende un viaje estratégico para mejorar el rendimiento y la eficiencia energética de los sistemas móviles de VC a través de varias contribuciones clave: Comenzamos analizando un motor de localización visual de vanguardia en una CPU. El motor de localización procesa imágenes de cámara, extrayendo y rastreando características para estimar la pose de la cámara. Nuestras evaluaciones revelan que la extracción de características es el principal cuello de botella, representando del 60% al 90% de la latencia total de localización. Más tarde, investigamos diseños de aceleradores hardware para imágenes. La primera contribución es LOCATOR, un acelerador diseñado para la extracción de características ORB. LOCATOR procesa las imágenes con dos pipelines paralelas para la detección y descripción de características, empleando técnicas como patrones de acceso optimizados, mecanismos de caché y replicación selectiva de puertos. LOCATOR logra un speedup de 16.8× en la extracción de ORB, de 1.9× de extremo a extremo y una reducción del 2.1× en el consumo de energía respecto a una CPU móvil. Reconociendo la necesidad de soluciones más programables, nuestra segunda contribución, SLIDEX, introduce una extensión vectorial para CPUs enfocada a procesamiento de imágenes. SLIDEX explota el dataflow de ventana deslizante, interpretando registros vectoriales como ventanas superpuestas para maximizar el paralelismo a nivel de datos. SLIDEX reduce el acceso y movimiento de datos, mejorando las convoluciones y stencils, resultando en un speedup de 1.2× y una reducción del 19% en la energía. La tercera contribución, δLTA, desacopla el muestreo de frames de la cámara del procesamiento del backend. δLTA permite al frontend identificar y omitir regiones de imágenes redundantes, enfocando el procesamiento solo en cambios significativos. δLTA reduce accesos innecesarios a la memoria y cálculos redundantes, disminuyendo la latencia de cola y la latencia promedio en un 7.2% y 15.2%, respectivamente, y el consumo de energía en un 17%. Finalmente, IRIS reutiliza los cálculos realizados por el ISP del frontend, segmentando y priorizando regiones de la imagen basadas en el detalle y el movimiento. IRIS permite que el backend procese primero las regiones relevantes, reduciendo la latencia y el consumo de energía hasta un 9% en latencia de cola, un 20% en latencia promedio y un 16% en ahorro de energía sin costos adicionales.