Imaging

Embedded SW development with a focus on reliability and quality continues to be the main expertise of Rhonda Software, from the very beginning till today. Rhonda Software has gained rich experience in Imaging in both Still image and Video processing system-on-a-chip (SoC) development. Since 2007, Rhonda Software has been working on an extensive lineage of image & video processing chips, starting from Zoran COACH 10 family to CSR COACH 15.

Rhonda Software has strongly contributed to the Mass Production of over 200 projects for different customers, including leading camera brands. The range of products includes:

  • Point-and-shoot cameras: Nikon, Panasonic, Fujifilm, Sony, Samsung, Pentax, Olympus, Kodak, Casio, BenQ
  • Mirror-less Interchangeable Lens (MIL) cameras: Pentax
  • Video cameras: Samsung, Toshiba, Philips, Flip
  • Car DVRs: Garmin, Provia, Ahoku
  • Action cameras: Garmin, JVC

Being Ambarella's official design partner, Rhonda Software currently places the most emphasis on Ambarella A9 and H2 SoC software IP development for the 4K@30 video camera market, as well as on the A12 SoC of the previous generation.

Rhonda Software’s expertise in the Imaging domain includes core firmware development, video processing, still image processing, Image Quality (IQ) calibration, SoC peripherals, storage media and SDIO, connectivity, QA and test automation.

Visit the YouTube section below to watch sample videos. Also, please see the PDF leaflets about Imaging and Car DVR.

Core Firmware Development

  • Strong experience in RTOS (ThreadX, MQX) and Embedded Linux
    • Porting Linux core to various SoC
    • Development of RTOS-Linux IPC and RPC
    • Development and support of HAL for driver portability between OS
  • Running Linux, audio filters and graphics rendering engine on multi-core heterogeneous SoC (based on cores such as MIPS, ARC and ARM)
  • Advanced experience in DRAM allocation, CPU utilization optimizations
  • DRAM bandwidth distribution profiling, tight system load balancing
  • Power consumption, boot time, code size optimizations
  • Work from SI validation to product shipping and support

 

Video Flows

  • Knowledge in H264 and MJPEG encoding and decoding
  • Advanced knowledge of image stabilization algorithms, temporal filtering, audio processing algorithms
  • Getting video from 1 or 2 image sensors (support 2-channel DVR, stitch channels into one image or record as separate video tracks)
  • Multi-stream encoding for video storing and/or transferring
  • Specific video recording features like pre-recording, fault-tolerant recording, seamless file splitting, writing custom data (e.g. GPS log) to a video container
  • File system optimizations for fragmentation prevention and recording stability
  • Video playback of 2 video tracks at the same time
  • Modification of recorded clips (trim, append, transcode)
  • File formats used: MOV/MP4, AVI 1.0/2.0, MPEG2TS, MP3, AAC
  • Video formats used: H.264, MJPEG
  • Audio formats used: AAC, uLaw, ADPCM, various linear PCMs

 

Still Image Flows

  • Implementation of still image pipelines: Preview, Single image capture, Burst image capture
  • CCD/CMOS sensor-specific tuning of the image processing pipeline
  • Still features e.g. pre-shooting, best shoot selection, imprinting of custom data into the image
  • Complex multi-frame still capture support where an image is created from several exposures to enable temporal noise filtering or increase the dynamic range
  • File formats used: JPEG, MPF/MPO, DNG

 

 

 

Image Quality

  • IQ Calibration and Tuning experience on COACH and Ambarella platforms:
    • Noise reduction preserving edges, texture and details
    • Tone mapping
    • Local contrast enhancement
    • Color fidelity
    • Lens distortion, shading, aberrations correction
    • Sharpening
    • Auto-focus, auto exposure and auto white balance algorithms
  • IQ Testing and Review:
    • Objective testing with Imatest
    • Subjective lab and field testing
    • Comparison with competitors
  • IQ Lab Facilities: full set of high quality lighting sources, charts and other equipment required for IQ calibration, tuning and testing

 

 

 

Peripheral Devices

  • Various communication and auxiliary interfaces:  USB, UART, I2C, I2S, SDIO, GPIO, PWM, SPI, ADC, DAC, Step-Motor Controller
  • Implementation of various USB modes and classes, including UVC and UAC (USB Video Class, USB Audio class)
  • Different display technologies: LCDs, HDMI, PAL & NTSC via CVBS.
  • Various parallel and LVDS sensors (CCD- and CMOS-based) from vendors such as Sony, Panasonic, Aptina, OmniVision, Samsung, etc.; also a Serializer/Deserializer interface for sensors
  • SW development and support for all of the aforementioned devices and technologies, from driver to user levels (based on ThreadX and Linux), including display drivers, sensor drivers, various APIs and middleware
  • Implementation and customization of various standard and non-standard protocols:  SPI-based I2S serial audio protocol (C driver + ASM driver), custom UART, full-duplex data transfer, different Audio protocols, etc.

 

Storage Media and SDIO

  • Support for SD and MS-Pro cards, NAND microcontrollers on all levels: from low-level register-operating to high-level user APIs
  • Support for SDIO protocol, using SDIO devices for WiFi transfer
  • Support and optimization of custom file systems based on FileX (in ThreadX RTOS), support for all FAT types including exFAT
  • Expertise in DCF (Design rule for Camera File system)

 

Connectivity and Android Application Development

  • Running various connectivity features on Linux (MIPS, ARM CPUs)
    • Wi-Fi Direct™ Soft AP Coexistence with Bluetooth and station modes
    • Bluetooth stack and applications, camera control over Bluetooth, UART over Bluetooth, HID profile, RFCOMM protocol
    • BLE/Bluetooth Smart
    • LTE networking
    • NFC pairing
    • Ethernet
  • Providing remote access and control of the camera
    • Live video streaming from the camera (HLS and RTSP/RTP protocols, MJPEG and H.264 formats)
    • Remote camera control and settings management
    • Access camera memory card and file transfer
  • Development of an Android app to close the loop of remote camera control

 

QA and Test Automation

  • Strong QA experience in image and video processing pipelines with different CCD and CMOS sensors, various still, video and audio file formats, streaming testing, different file systems, SD cards
  • Imaging test content preparation: both still and video, with different conditions, formats, valid and broken, content for face detection testing
  • Running various types of tests, including:
    • Unit tests for isolated modules
    • API testing
    • Regression image quality tests, using a virtual sensor and bit-to-bit resulted image/video comparing
    • Testing the imaging products end-to-end
    • Comparison tests with competitors' cameras
  • Test automation: in-house test frameworks and fully automated testing
  • Configuration management and continuous integration (automated)

 

 

2017-06-01. Rhonda Auto Focus (AF) algorithm

Rhonda Software developed the Auto Focus (AF) algorithm. Rhonda video decoder application streams video from the camera in 720p@30 H.264 over RTMP protocol with 1 Mbps, and allows to select any region by touching the screen. Selected coordinates are sent to the camera, and the camera applies window to the Rhonda AF algorithm. The algorithm, in its turn, finds the best focus position.

 

 

 

2017-02-03. Dual 4K streaming over Ethernet based on Ambarella H2 Everest board

Using Rhonda Camera SDK, Rhonda Software developed the application for dual video streaming from Ambarella H2 EVK Everest board with two Sony IMX377 image sensors 4K@30 60 Mbits (left sensor) + 4K@30 60 Mbits (right sensor) over 1 Gbit Ethernet.

 

 

 

2017-01-10. Rhonda H2 HW board based on Ambarella H2 SoC and IMX377 sensor

Main board is based on Ambarella H2V95 SoC. Sensor board has two Sony IMX377 12MP image sensors, oriented in opposite directions. Dual 4k@30 readout from two sensors is scaled down on Ambarella to dual 1080p@30 video streams. Streams are simultaneous - one over USB 2.0 (UVC), another over HDMI. Rhonda Software developed PCB layout and schematics of all boards; as well as the Camera application using Rhonda camera SDK.

 

 

2016-12-22. Video streaming over USB 3.0 (UVC) from H2 Everest board

Using the Rhonda Camera SDK, Rhonda Software developed the camera application for the Ambarella H2 Everest board for video streaming over USB 3.0 (4K@30 60Mbps).

 

 

 

 

2016-12-02. Video recording on H2 Everest board and streaming over Wi-Fi

Using the Rhonda Camera SDK, Rhonda Software developed the camera application for the Ambarella H2 Everest board for simultaneous video recording to an SD card (4K@30 60Mbps) and streaming over Wi-Fi (720p@30 10Mbps).

 

 

 

 

2016-11-29. Video recording on H2 Everest board and streaming over Ethernet

Using Rhonda Camera SDK, Rhonda Software developed the camera application for Ambarella H2 Everest board for simultaneous video recording to SD card (4K@30 60Mbps) and streaming over Ethernet (720p@30 16Mbps).

 

 

 

 

2015-05-19. Rhonda AWB algorithm

Rhonda Software developed the auto while balance (AWB) algorithm and compared it with the AWB algorithm of the Panasonic action camera, for several light modes with different color temperatures being emulated using lighting booth. Rhonda AWB showed better performance than the Panasonic AWB - faster adaptation to the mode changes and lower deviation from the reference values.

 

 

 

2014-12-28. NFC pairing for Ambarella A9

Rhonda Software upgraded the Remote Control application to support NFC pairing for Ambarella A9 with an NFC board (CLEV663 demo board based on the NXP MIFARE CLRC663 chip). Now, when you touch the NFC board with an Android device, the Remote Control application starts, activates Wi-Fi connection to the board and initiates the video stream from the board using parameters received via NFC.

 

 

 

2014-12-22. CSR 9300 Wi-Fi chip support for Ambarella A9

In addition to the video below about streaming solutions for the Atheros 6103G SDIO and CSR6030-A11 Wi-Fi chips, Rhonda Software implemented support for another CSR chip - A13289v3 Automotive CSR 9300.

 

 

 

 

2014-11-11. Ambarella A9 FullHD 3D video

Rhonda Software developed support for FullHD 3D video recording using two Ambarella A9 boards connected with an Ethernet cable. To provide a stereoscopic effect, one board acts as the left "master" eye, while the other acts as the right "slave" eye. Video is being recorded directly to the SD card of the master board without any processing on PC, in the "Top to Bottom: Left on Top" 3D format. Note: you will need anaglyph (by default, red and cyan) glasses to watch this video on YouTube.

 

 

2014-11-11. CSR Wi-Fi chip support for Ambarella A7L

In addition to CSR Wi-Fi chip support for Ambarella A9, Rhonda Software developed the same CSR Wi-Fi chip support for the A7L board.

 

 

 

 

2014-11-05. Improved Auto Exposure

Video cameras with default auto exposure in case of glare try to compensate for it by sacrificing details in dark areas of a scene. Rhonda Software developed algorithms for improved automatic exposure, allowing the camera to keep details in spite of flickering, glare and highlight.

 

 

 

2014-10-30. Ambarella A7L remote control over Bluetooth

Similar to the Ambarella A9 board, Rhonda Software implemented BT keyboard and mouse support for the A7L board.

 

 

 

 

2014-10-10. 4K video recording demo

The Ambarella A9 platform makes the next step in dashcam technology. 4K is 8 megapixels, it's 4 times bigger than the commonly used Full HD resolution. This allows the recording of more fine details, such as plate numbers of distant cars. The up-to-date SDXC memory card standard is supported. A 64 GB card allows up to 3 hours of recording in 4K resolution. Do you want to publish or print moments from your recording? No problem. Snapshots extracted from 4K video are like 8 MP snapshots from photo cameras, so you can take any moment from the video and share or print it as a photo. Want to publish the action you captured? Even if it is far, zooming leaves enough resolution for good quality video. Use your 4K TV capabilities with the supported HDMI outlet.

2014-10-08. Ambarella A9 LTE demo

In addition to Wi-Fi support, Rhonda Software implemented support for LTE connectivity on Ambarella A9. This video demonstrates streaming from the Russian Far East to the Amazon cloud (USA, CA) and back. Streaming latency depends on the parameters of the particular USB dongle 4G modem, bandwidth, the ISP's service plan, etc. Simultaneous streaming of the same video to multiple devices is also supported, for example to a PC and an Android phone, as shown here.

 

 

2014-09-25. Latency of A9 Wi-Fi video streaming

Rhonda Software measured the latency of Wi-Fi streaming from an Ambarella A9 board through the CSR Wi-Fi card, using the Rhonda Remote Control application on an Android-base device as the streaming destination, and found the streaming latency is less than 0,4 seconds. The Wi-Fi video streaming solution for Ambarella A9 was implemented by Rhonda Software for the CSR Wi-Fi card, as well as for Ambarella's default Atheros 6103G SDIO Wi-Fi card. The Rhonda Remote Control application for the Camera Development Board is an Android application developed by Rhonda Software for Ambarella boards' sensors' remote control and video streaming.

 

2014-08-08. CSR Wi-Fi chip support for Ambarella A9

By default, the Ambarella A9 board supports the Atheros 6103G SDIO Wi-Fi card, and Rhonda Software has already developed a video streaming solution for this chip. Recently, Rhonda Software added support for the CSR 6030 A11 Wi-Fi card. This card supports 802.11 bgn Wi-Fi Direct™ Soft AP Coexistence with Bluetooth. The network turnkey package has been updated to support CSR Wi-Fi, so now Wi-Fi initializes automatically at boot. The Rhonda Remote Control application on an Android device connects to the board through Wi-Fi, automatically detects the board's video sensor, and starts video streaming.

 

2014-07-28. Rhonda A9 demo

Demo application developed for Ambarella A9 board by Rhonda Software as the replacement for the default one.

 

 

 

 

2014-07-05. Bluetooth chip support for Ambarella A9

Rhonda Software developed Bluetooth support for the Ambarella A9 evaluation kit - the board with an LCD screen, a camera (embedded video sensor) and a CSR 8311 Bluetooth chip connected to UART over USB. There are two use cases implemented:

1) Bluetooth keyboard and mouse (BT HID) support. As the replacement for the default Ambarella application starting at boot, Rhonda Software developed the new application for the Ambarella platform, which allows detection of Bluetooth human interface devices (keyboard and mouse), as well as working with them. Particularly speaking, the BT keyboard can be used for direct input to the board's console, while the BT mouse can be used for UI navigation.

2) Camera control, UART over BT, RFCOMM. The A9 board's camera can be controlled from some helper PC with an attached BT adapter, which is available on Linux running on a Virtual Machine. This VM is used for camera control - for example, it's possible to switch camera into the "photo", "recording" and "playback" modes; take snapshots in "photo" mode, start/stop video recording in "recording" mode, playback recorded videos in "playback" mode, etc.

2014-06-29. Remote Control for Camera Development Board

Rhonda Software developed the Android-based remote control application for the Camera Development Board. This board, with an embedded video sensor, creates a Wi-Fi access point. The Android application developed by Rhonda Software establishes a Wi-Fi connection with a board and automatically detects its camera (embedded video sensor), freeing the user from the necessity to enter the camera's IP and URL manually. Then, the application displays the live video being streamed from a board to Android via the established Wi-Fi connection with minimum delay. The application also remotely controls the the board's camera, allowing the user to make snapshots, record video, copy videos and pictures from a camera to an Android device, and change camera settings such as the camera's resolution, fps and bitrate.

 

Do not hesitate to contact us for any question regarding our services. We will be glad to respond in detail.

...