Szybkość klatek na sekundę opisuje liczbę obrazów, które kamera może zarejestrować na sekundę i jest często traktowana jako podstawowa wartość przy ocenie szybkich systemów obrazowania. W dynamicznych eksperymentach, procesach inspekcji lub szybkich procesach biologicznych, szybkość klatek bezpośrednio decyduje o tym, ile szczegółów czasowych można zarejestrować.
Określona maksymalna liczba klatek na sekundę nie jest jednak wartością stałą. Zależy ona od architektury czujnika, obszaru zainteresowania (ROI), czasu ekspozycji, trybu odczytu oraz przepustowości interfejsu danych. W praktyce osiągalna liczba klatek na sekundę jest wynikiem wielu oddziałujących na siebie czynników. Zrozumienie tych czynników wymaga spojrzenia poza liczbę klatek na sekundę i przeanalizowania, w jaki sposób czas klatki jest konstruowany w systemie kamery.
Co to jest liczba klatek na sekundę w kamerze?
Szybkość klatek na sekundę odnosi się do liczby klatek, które kamera może zarejestrować na sekundę w określonych warunkach pracy. Jest ona zazwyczaj wyrażana w klatkach na sekundę (FPS) i określa, jak szybko kolejne obrazy mogą zostać zarejestrowane i udostępnione do przetwarzania lub przechowywania.
Szybkość klatek decyduje o rozdzielczości czasowej systemu obrazowania. W zastosowaniach dynamicznych – takich jak śledzenie cząstek, inspekcja z dużą prędkością czy dynamiczne procesy biologiczne – wyższa szybkość klatek umożliwia bardziej szczegółową obserwację ruchu i zdarzeń przejściowych.
Jednak liczba klatek na sekundę nie jest specyfikacją odizolowaną. Maksymalna osiągalna liczba klatek na sekundę (FPS) zależy od trybu pracy kamery, obszaru zainteresowania (ROI), czasu ekspozycji, głębi bitowej i przepustowości interfejsu. Podana „maksymalna liczba klatek na sekundę” zazwyczaj zakłada określone warunki, takie jak zmniejszony obszar zainteresowania (ROI) lub określony tryb odczytu.
Aby zrozumieć, co naprawdę ogranicza liczbę klatek na sekundę, należy przeanalizować, ile czasu zajmuje pozyskanie i odczytanie pojedynczej klatki — znanego jako czas klatki — co zostanie omówione w następnej sekcji.
Szybkość klatek a czas klatki a czas linii
Szybkość klatek jest powszechnie wyrażana w klatkach na sekundę (FPS), ale FPS nie jest podstawowym parametrem fizycznym. Jest to odwrotność czasu potrzebnego na pozyskanie i odczytanie pojedynczej klatki.
Liczba klatek na sekundę = 1 / Czas klatki
Aby zrozumieć, co decyduje o liczbie klatek na sekundę, musimy przyjrzeć się, jak skonstruowany jest czas klatki.
Co składa się na czas trwania klatki?
Czas klatki oznacza całkowity czas potrzebny do wytworzenia jednego kompletnego obrazu. W większościKamery CMOS, obejmuje to:
● Czas ekspozycji (jak długo czujnik zbiera światło)
● Czas odczytu czujnika (ile czasu zajmuje konwersja i przesłanie wartości pikseli)
● Czas przesyłania danych (transmisja interfejsu do komputera hosta)
Gdy czas ekspozycji jest krótki w stosunku do czasu odczytu, liczba klatek na sekundę jest zazwyczaj ograniczona przez proces odczytu. Gdy czas ekspozycji jest długi, może on stać się dominującym czynnikiem ograniczającym.
Czas linii — podstawowe ograniczenie czujnika
W przypadku matryc CMOS głównym czynnikiem wewnętrznym ograniczającym liczbę klatek na sekundę jest czas liniowy. Czas liniowy to czas potrzebny rzędowi przetworników analogowo-cyfrowych (ADC) na zmierzenie i zdigitalizowanie jednego rzędu pikseli.
W większości architektur każdy wiersz jest przetwarzany sekwencyjnie. W rezultacie całkowity czas odczytu ramki jest określany przez liczbę aktywnych wierszy pomnożoną przez czas linii:
Czas odczytu ramki = Czas wiersza × Liczba wierszy
Rysunek 1: Wprowadzenie do diagramów synchronizacji migawki „równoległobocznej”
Lewy:Wykres rzędu czujników (oś y) w funkcji czasu (oś x), z żółtymi równoległobokami oznaczającymi ekspozycję każdego rzędu kamer na skutek działania migawki toczącej.
Prawidłowy:Przybliżenie na poziomie pojedynczego wiersza, ilustrujące rolę odczytu i resetowania w określaniu czasu linii migawki.
To wyjaśnia, dlaczego zmniejszenie obszaru zainteresowania (ROI) – a konkretnie liczby wierszy pikseli – może znacząco zwiększyć liczbę klatek na sekundę. Zmniejszenie liczby wierszy o połowę skraca czas odczytu o połowę i może niemal podwoić możliwą do osiągnięcia liczbę klatek na sekundę (FPS), zakładając, że inne czynniki pozostają niezmienne.
Sam czas odczytu może się różnić w zależności od trybu, ale w ramach danego trybu jest zwykle stały.
Teoretyczna i rzeczywista liczba klatek na sekundę
„Maksymalna liczba klatek na sekundę” podana w specyfikacjach jest zazwyczaj obliczana na podstawie samego czasu odczytu klatki. W praktyce rzeczywista liczba klatek na sekundę może być niższa ze względu na:

● Dłuższe czasy naświetlania
● Ograniczenia przepustowości interfejsu
● Opóźnienia w oprogramowaniu lub przetwarzaniu
Z tego powodu ważne jest rozróżnienie pomiędzy teoretyczną maksymalną liczbą klatek na sekundę (FPS) a możliwą do osiągnięcia liczbą klatek na sekundę w rzeczywistych warunkach pracy.
Czynniki na poziomie czujnika wpływające na liczbę klatek na sekundę
Choć czas odczytu linii i klatki definiują podstawowe ograniczenia czasowe czujnika, kilka konfigurowalnych parametrów na poziomie kamery może znacząco wpływać na osiągalną liczbę klatek na sekundę.
Region zainteresowania (ROI)
Liczba aktywnych wierszy pikseli bezpośrednio determinuje czas odczytu ramki. Zmniejszenie wysokości obszaru zainteresowania zmniejsza liczbę wierszy, które należy odczytać, skracając tym samym czas odczytu.
Ponieważ czas odczytu klatki skaluje się w przybliżeniu wraz z liczbą wierszy, zmniejszenie o połowę wysokości obszaru zainteresowania (ROI) może niemal podwoić maksymalną możliwą liczbę klatek na sekundę – zakładając, że czas ekspozycji i przepustowość interfejsu nie są czynnikami ograniczającymi. W aplikacjach skoncentrowanych na małym obszarze ruchu lub detekcji, ROI jest często najskuteczniejszym sposobem na zwiększenie szybkości.
Binning i podpróbkowanie
Binning pikseli łączy sąsiadujące piksele przed odczytem lub digitalizacją, skutecznie zmniejszając rozdzielczość wyjściową i całkowitą objętość danych. W zależności od architektury czujnika, binning może zmniejszyć wymagania dotyczące przepustowości danych, a czasami poprawić efektywną liczbę klatek na sekundę.
Jednak binowanie nie zawsze skraca wewnętrzny czas linii. W wielu projektach CMOS wiersze są nadal odczytywane sekwencyjnie, nawet po połączeniu pikseli. W rezultacie binowanie może poprawić wydajność transferu danych bez znaczącej zmiany wewnętrznego czasu odczytu.
Głębokość bitowa i tryby odczytu
Wielekamery naukoweoferują wiele trybów odczytu, często rezygnując z zakresu dynamiki na rzecz szybkości. Na przykład, 16-bitowy tryb o wysokim zakresie dynamiki może priorytetowo traktować niski poziom szumów odczytu i dużą pojemność studni, podczas gdy 12-bitowy „tryb szybkości” może osiągać wyższą liczbę klatek na sekundę poprzez zmniejszenie precyzji danych lub zmianę ustawień wzmocnienia.
Ponieważ większa głębia bitowa zwiększa ilość danych na klatkę, przełączenie na niższą głębię bitową może zmniejszyć obciążenie transferu danych, a w niektórych przypadkach umożliwić wyższą liczbę klatek na sekundę — szczególnie gdy czynnikiem ograniczającym jest przepustowość interfejsu.
Interakcja czasu ekspozycji i szybkości klatek
Liczba klatek na sekundę nie jest determinowana wyłącznie przez czas odczytu z czujnika. Czas ekspozycji może również ograniczać szybkość pozyskiwania kolejnych klatek.
Ogólnie rzecz biorąc, maksymalna możliwa liczba klatek na sekundę zależy od tego, który ze składników czasowych jest dłuższy: czasu ekspozycji czy czasu odczytu klatki. Jeśli czas ekspozycji jest krótszy niż czas odczytu, odczyt ogranicza liczbę klatek na sekundę. Jeśli jednak czas ekspozycji przekracza czas odczytu, dominującym ograniczeniem staje się ekspozycja.
W wielu konstrukcjach CMOS z ruchomą migawką, naświetlanie i odczyt mogą się częściowo na siebie nakładać. Podczas odczytu jednego rzędu, inne rzędy mogą już integrować światło dla kolejnej klatki. To nakładanie się pozwala na skrócenie czasu naświetlania w porównaniu z czasem odczytu pełnej klatki, bez konieczności zmniejszania liczby klatek na sekundę.
Jednak gdy czas ekspozycji staje się dłuższy niż całkowity czas odczytu czujnika – na przykład w przypadku obrazowania w słabym oświetleniu, wymagającego dłuższej integracji – liczba klatek na sekundę proporcjonalnie spada. W takich przypadkach:
Maksymalna liczba klatek na sekundę ≈ 1 / Czas ekspozycji
Zrozumienie, czy system ma ograniczenia odczytu, czy ekspozycji, jest kluczowe dla optymalizacji prędkości akwizycji. Zwiększenie wzmocnienia, poprawa oświetlenia lub skrócenie wymaganego czasu integracji może być skuteczniejsze w podniesieniu liczby klatek na sekundę niż samo dostosowanie ROI lub trybu odczytu.
Ograniczenia przepustowości interfejsu i przepustowości danych
Nawet jeśli czujnik może odczytywać klatki z dużą prędkością, interfejs między kamerą i komputerem hosta może stać się czynnikiem ograniczającym.
Każda pozyskana klatka musi zostać przesłana przez łącze danych – takie jak USB, Camera Link lub PCIe – do komputera w celu przetworzenia lub zapisania. Wymagana przepustowość zależy od:
● Rozmiar klatki (liczba pikseli)
● Głębia bitowa (dane na piksel)
● Szybkość klatek
Szybkość transmisji danych można oszacować jako:
Szybkość transmisji danych ≈ (Liczba pikseli na klatkę × Głębia bitowa × Szybkość klatek)
Na przykład, sensor 2048 × 2048 pracujący z 16-bitową głębią i 100 kl./s generuje dane surowe o przepustowości ponad 800 MB/s. Jeśli interfejs nie jest w stanie obsłużyć tej przepustowości, efektywna liczba klatek na sekundę zostanie zmniejszona lub klatki mogą być tymczasowo buforowane w kamerze.
W wielu systemach zmniejszenie ROI lub przełączenie na niższą głębię bitową nie tylko skraca czas odczytu, ale także zmniejsza wymaganą przepustowość, dzięki czemu interfejs może obsługiwać większą liczbę klatek na sekundę (FPS).
Dlatego ważne jest rozróżnienie pomiędzy:
●Liczba klatek na sekundę ograniczona przez czujnik, określone na podstawie czasu linii i odczytu
●Liczba klatek na sekundę ograniczona przez interfejs, określone przez przepustowość i konfigurację systemu
Na wydajność w warunkach rzeczywistych mogą mieć wpływ także prędkość pamięci masowej, wydajność sterownika i obciążenie oprogramowania, zwłaszcza podczas długotrwałego, szybkiego pozyskiwania danych.
Zrozumienie, gdzie leży wąskie gardło — w synchronizacji czujnika czy w transferze danych — jest kluczowe przy diagnozowaniu ograniczeń liczby klatek na sekundę.
Dlaczego rzeczywista liczba klatek na sekundę jest niższa niż podana w specyfikacji
Maksymalna liczba klatek na sekundę podana w specyfikacji aparatu jest zazwyczaj obliczana w idealnych warunkach – często przy zmniejszonym obszarze zainteresowania (ROI), krótkim czasie ekspozycji, określonym trybie odczytu i optymalnej konfiguracji interfejsu. W praktyce osiągalna liczba klatek na sekundę może być niższa z powodu kilku typowych czynników.
1. Pełny czujnik kontra zmniejszony zwrot z inwestycji
Wiele maksymalnych wartości FPS jest podawanych na podstawie częściowego ROI. Jeśli kamera pracuje z pełną rozdzielczością matrycy, zwiększona liczba wierszy bezpośrednio wydłuża czas odczytu klatek, zmniejszając możliwą do osiągnięcia liczbę klatek na sekundę.
2. Czas ekspozycji przekracza czas odczytu
Jeśli czas ekspozycji jest dłuższy niż czas odczytu klatki przez czujnik, staje się on czynnikiem ograniczającym. W przypadku obrazowania przy słabym oświetleniu dłuższe czasy integracji naturalnie zmniejszają maksymalną liczbę klatek na sekundę (FPS), niezależnie od możliwości odczytu czujnika.
3. Tryby większej głębi bitowej lub HDR
Praca w trybach 16-bitowym lub o wysokim zakresie dynamiki zwiększa objętość danych i może wpływać na czas odczytu. Może to zmniejszyć osiągalną liczbę klatek na sekundę w porównaniu z trybami „szybkości” o niższej głębokości bitowej.
4. Ograniczenia przepustowości interfejsu
Interfejsy USB, Camera Link lub PCIe mają skończoną przepustowość. Jeśli wymagana szybkość transmisji danych przekracza stałą przepustowość interfejsu, efektywna liczba klatek na sekundę (FPS) może zostać zmniejszona lub buforowana wewnętrznie.
5. Oprogramowanie i koszty przetwarzania
Konfiguracja wyzwalacza, strategia buforowania, prędkość pamięci masowej i obciążenie procesora mogą mieć wpływ na stałą liczbę klatek na sekundę podczas akwizycji w warunkach rzeczywistych.
Aby zdiagnozować rozbieżności w liczbie klatek na sekundę, ważne jest ustalenie, czy ograniczenie wynika z synchronizacji matrycy, czasu ekspozycji, czy przepustowości danych. Dopiero po zidentyfikowaniu wąskiego gardła można skutecznie zoptymalizować wydajność.
Jak zoptymalizować liczbę klatek na sekundę dla swojej aplikacji
Optymalizacja liczby klatek na sekundę zaczyna się od zidentyfikowania rzeczywistego czynnika ograniczającego w systemie obrazowania. Po zrozumieniu wąskiego gardła, ukierunkowane korekty mogą znacząco poprawić prędkość akwizycji.
1. Zmniejsz obszar zainteresowania (ROI)
Jeśli pełna rozdzielczość czujnika nie jest wymagana, zmniejszenie liczby aktywnych wierszy jest często najskuteczniejszym sposobem na zwiększenie liczby klatek na sekundę. Ponieważ czas odczytu klatki skaluje się wraz z liczbą wierszy, ograniczenie akwizycji do obszaru zainteresowania może znacznie zwiększyć liczbę klatek na sekundę (FPS).
2. Dostosuj czas ekspozycji
Gdy czas ekspozycji przekracza czas odczytu, staje się czynnikiem ograniczającym. Zwiększenie intensywności oświetlenia, odpowiednia regulacja wzmocnienia lub złagodzenie wymagań dotyczących sygnału może pozwolić na skrócenie czasu ekspozycji i uzyskanie wyższych możliwych do osiągnięcia częstotliwości odświeżania obrazu.
3. Wybierz odpowiedni tryb odczytu
Jeśli to możliwe, użyj trybu zoptymalizowanego pod kątem szybkości, gdy wysoki zakres dynamiki nie jest krytyczny. Niższa głębia bitowa lub alternatywne tryby wzmocnienia mogą zmniejszyć obciążenie odczytu i transferu danych.
4. Sprawdź interfejs i przepustowość danych
Upewnij się, że przepustowość interfejsu obsługuje wymaganą szybkość transmisji danych. Zmniejszenie głębokości bitowej, ograniczenie rozdzielczości lub modernizacja łącza danych może poprawić stałą wydajność.
5. Zidentyfikuj ograniczenie dominujące
Optymalizacja liczby klatek na sekundę jest najskuteczniejsza, gdy zmiany dotyczą faktycznego czynnika ograniczającego — odczytu czujnika, czasu ekspozycji lub przepustowości interfejsu — zamiast dostosowywania parametrów niezwiązanych z tym procesem.
Wniosek
Szybkość klatek kamery nie jest ustaloną wartością, lecz wynikiem współdziałania synchronizacji matrycy, czasu ekspozycji i przepustowości danych w określonych warunkach pracy. Zrozumienie zależności między czasem linii, czasem odczytu klatki, czasem ekspozycji i przepustowością interfejsu jest kluczowe dla oceny lub optymalizacji szybkości akwizycji. W praktyce osiągalna szybkość klatek jest determinowana przez najwolniejszy komponent w łańcuchu obrazowania.
At TucsenWydajność liczby klatek na sekundę jest projektowana i weryfikowana w kontekście rzeczywistych ograniczeń systemowych – w tym architektury odczytu, wyboru trybu i konfiguracji interfejsu. Jeśli Twoja aplikacja wymaga ciągłej, szybkiej akwizycji, nasz zespół pomoże Ci ocenić rzeczywiste ograniczenia wydajności w ramach Twojego konkretnego procesu pracy.
Tucsen Photonics Co., Ltd. Wszelkie prawa zastrzeżone. Przy cytowaniu prosimy o podanie źródła:www.tucsen.com
2022/02/25