Documentation / Gemini 330 series /
Orbbec SDK architecture

Orbbec SDK architecture

Overview

Welcome to the Orbbec SDK (hereinafter referred to as “SDK”) tutorial! The SDK not only provides a concise high-level API, but also a flexible and comprehensive low-level API to help you use and quickly understand Orbbec 3D cameras in detail.To get you started faster, we highly recommend using the high-level API interface.

 

Features

Orbbec SDK is a cross-platform (Windows, Android, Linux,Mac) software development kit that provides device parameter configuration, data stream reading and stream processing for 3D sensing cameras such as Orbbec structured light, Stereo and iToF.

Core functions:

  • Depth camera access and related parameter settings
  • RGB camera access and related parameter settings (eg exposure and white balance)
  • Sensor access and related parameter settings (eg gyroscope and accelerometer)
  • Frame synchronization and alignment control
  • Point cloud data
  • Algorithmic capabilities such as filtering
  • Multi-OS and Wrapper support.

Highlights:

SDK design goals: thin + flexible + high scalability.

  • “Thin”: Provides the ability to obtain device data at the minimum level and high performance
  • “Flexible”: Modular sensor function, flexible combination of different devices
  • “Highly Scalable”: Supports increasingly diversified devices and systems, and plug-in algorithms for different scenarios

What’s included in the SDK:

Content Description
Code example These simple examples demonstrate how to easily use the SDK to include code snippets that access the camera into your application. Includes color flow, depth flow, point cloud, alignment, recording, and more.
tool OrbbecViewer: A tool that demonstrates the main basic functions and parameter configuration of the 3D sensing camera using the SDK to help developers quickly understand and verify the capabilities of the SDK and the 3D sensing camera. With this application, you can quickly access your depth camera to view the depth stream, visualize point clouds, record and playback data streams, configure your camera settings.
 

SDK Concepts

Application

OrbbecViewer, Sample, and User Application Implementation.

Interfaces and Encapsulation Layer

OrbbecSDK Interface Encapsulation and Wrapper Encapsulation.

High-level Layer

HighLevel encapsulates the core business components and provides interfaces to the outside using a pipeline.

Basic business layer

The realization of the core business logic framework.

Platform abstraction layer

Cross-platform components shield the implementation of different operating systems and provide a unified access method.

Platform implementation layer

The driver implementation of each platform.

 

SDK Frame Acquisition Sequence Diagram

Note: The interfaces labeled with numbers are external interfaces, while the ones without numbers are internal interfaces.

 

SDK Concepts

Context

Context which provides a set of settings includes settings such as device state change callbacks, log levels, and more. The Context can access multiple devices.

Device

One actual hardware device corresponds to one Device object, which is used to obtain relevant information of the device and control its attributes.

Sensor

A Sensor can be understood as a sub-device of the actual device, corresponding to Color Sensor, IR Sensor, Depth Sensor, IMU Sensor, etc. One Device can contain multiple Sensors.

Stream

Stream represents a data flow. Generally, a Sensor can output one or more types of data flows, which are composed of a series of time-sequenced Frames. For Stream, StreamProfile is used to describe the configuration of an individual stream.

Frame

Represents a frame of data in the Stream, and also contains relevant information about that frame of data, such as timestamp, type, etc.

FrameSet

Represents a combination of different types of Frames with the same timestamp, such as a combination of Color Frame and Depth Frame.

Pipeline

The HighLevel corresponding object encapsulates the interface for quick access to the SDK. It has simple functions that allow users to quickly get started and use the SDK.

Filter

It mainly refers to some algorithmic processing modules for the composite stream FrameSet, such as point cloud algorithm processing.

Stay updated

Be the first to learn about our new
products and updates.