Processing Latency - definicja
Processing latency to całkowity czas od przyjęcia danych wejściowych do uzyskania gotowego wyniku przetwarzania. W kontekście anonimizacji zdjęć i nagrań wideo oznacza czas od odczytu pliku lub klatki, przez detekcję twarzy i tablic rejestracyjnych, zastosowanie masek rozmycia, aż po zapis i opcjonalną ponowną kompresję. W literaturze i normach pojęcie to jest elementem charakterystyki jakości wydajnościowej systemów, określanej w ISO/IEC 25010 jako time behavior (czas reakcji, czasy przetwarzania, przepustowość) [ISO/IEC 25010:2011]. Dla usług sieciowych komponentem może być opóźnienie sieci według ITU-T Y.1541, ale w anonimizacji wsadowej obrazu/wideo zwykle dominuje opóźnienie obliczeniowe i I/O.
W praktyce mierzy się opóźnienie całkowite oraz opóźnienia cząstkowe etapów potoku, aby zidentyfikować wąskie gardła i kontrolować zgodność z wymaganiami prawnymi i operacyjnymi (np. terminy przekazania zanonimizowanego materiału).
Rola opóźnienia przetwarzania w anonimizacji obrazu i wideo
Anonimizacja twarzy i tablic rejestracyjnych wymaga detekcji obiektów z użyciem modeli uczenia głębokiego. Budowa takich modeli jest konieczna, aby automatycznie lokalizować obszary do zamazania w trakcie przetwarzania materiału. Opóźnienie przetwarzania bezpośrednio wpływa na czas dostępności bezpiecznej wersji pliku. Ma to znaczenie dla rozliczalności oraz dla projektowania procesu zgodnego z zasadą privacy by design z art. 25 RODO, a także z wytycznymi EROD 3/2019 dotyczącymi urządzeń wizyjnych (wersja 2.0, 29.01.2020).
Gallio PRO działa w trybie wsadowym, nie wykonuje anonimizacji w czasie rzeczywistym i automatycznie zamazuje wyłącznie twarze oraz tablice rejestracyjne. Dlatego processing latency definiuje tutaj czas partii od rozpoczęcia przetwarzania do uzyskania pliku wynikowego. Logi nie zawierają detali detekcji ani danych osobowych.
Technologie i architektura wpływające na opóźnienie
Na opóźnienie wpływają warstwy sprzętowe, programowe i kodowania. Poniżej ujęto główne komponenty potoku przetwarzania wraz z typowymi źródłami zwłoki.
Składowa | Opis | Typowe źródła opóźnienia
|
|---|---|---|
Wejście/I/O | Odczyt plików, serializacja, transfer dysk-pamięć | Przepustowość dysku, sieć, format kontenera |
Dekodowanie | Rozkodowanie H.264/H.265, JPEG | Struktury GOP, B-ramki, brak akceleracji sprzętowej [ITU-T H.264, H.265] |
Preprocessing | Skalowanie, normalizacja, konwersje kolorów | Operacje pamięciowe, brak wektorowej optymalizacji |
Inferencja | Wykrywanie twarzy/LP przez sieci NN | Wielkość i złożoność modelu, brak akceleratora, rozmiar batcha |
Postprocessing | Nakładanie masek, łączenie ramek, NMS | Złożoność algorytmów, operacje na CPU/GPU |
Kodowanie wyjścia | Kompresja i zapis obrazu/wideo | Parametry bitrate, profil, preset encodera |
Architektura on-premise redukuje zależność od opóźnień sieciowych i ryzyko transferu danych poza organizację. Akceleracja GPU (np. CUDA), kompilatory inferencyjne (np. TensorRT, OpenVINO) i efektywne biblioteki I/O obniżają czas etapów inferencji i transformacji bez zmiany semantyki procesu anonimizacji.
Kluczowe parametry i metryki
Opóźnienie powinno być raportowane z wykorzystaniem metryk odpornych na wahania oraz jednostek adekwatnych do skali zadania. Poniżej zebrano atrybuty użyteczne dla DPO i zespołów technicznych.
Metryka | Definicja | Jednostka
|
|---|---|---|
Latency całkowite L | Czas od startu wsadu do gotowego pliku | s, min, h |
Opóźnienie per klatka | Średni czas przetworzenia pojedynczej klatki | ms/klatkę |
Percentyle p95/p99 | Opóźnienie nieprzekraczane przez 95%/99% zadań | ms, s |
Przepustowość | Liczba klatek lub minut wideo przetworzonych na jednostkę czasu | FPS, min/h |
SLA czasu dostarczenia | Gwarantowany termin zakończenia przetwarzania wsadu | h, dni |
Modelowy wzór dekompozycji opóźnienia dla pojedynczej klatki: L_frame = t_io_in + t_decode + t_pre + t_inf + t_post + t_encode + t_io_out. Dla wsadu o N klatkach i równoległości P: L_batch ≈ ceil(N/P) × median(L_frame) + narzut_kolejki.
Pomiar i raportowanie
Pomiar powinien być deterministyczny i powtarzalny, z synchronizacją czasu gdy potok obejmuje wiele węzłów. Dla precyzyjnego znakowania czasu w systemach rozproszonych stosuje się IEEE 1588-2019 Precision Time Protocol. W zintegrowanych środowiskach on-premise wystarczą monotoniczne zegary systemowe i spójna telemetria.
- Instrumentacja etapów: znaczniki czasu przed i po każdym kroku potoku, agregacja w raportach p95/p99.
- Stabilne wejścia: stały preset encodera, te same modele i batch size, wyłączony tryb turbo/boost podczas testów porównawczych.
- Raporty dla DPO: czas wsadu, przepustowość, odsetek zadań dotrzymujących SLA, wariancja między partiami.
Wyzwania i ograniczenia
Redukcja opóźnień nie może obniżać jakości anonimizacji. Lżejszy model może przyspieszyć inferencję, ale obniżyć czułość detekcji twarzy lub tablic. Kompresja przy zapisie wyjścia zwiększa opóźnienie kodowania, ale zmniejsza rozmiar pliku. Gallio PRO nie prowadzi anonimizacji w czasie rzeczywistym, więc optymalizacje koncentrują się na czasie wsadowym i deterministyczności wyników. System automatycznie nie wykrywa logotypów, tatuaży, tabliczek imiennych ani ekranów monitorów; te elementy można zamazać ręcznie w edytorze, co wprowadza dodatkową, kontrolowaną składową opóźnienia operacyjnego.
Przykłady zastosowań
W praktyce DPO oraz zespoły bezpieczeństwa stosują processing latency do planowania okien przetwarzania i oceny ryzyka. Przykładami są: anonimizacja materiałów z monitoringu przed udostępnieniem, przygotowanie datasetów szkoleniowych z zamazanymi twarzami oraz wsadowe przetwarzanie zdjęć z eventów, gdzie wyjątki prawne nie mają zastosowania. W krajach Europy Zachodniej zamazywanie tablic rejestracyjnych jest często stosowane ze względu na ryzyko identyfikacji i lokalne praktyki, co zwiększa obciążenie potoku o dodatkową inferencję. W Polsce istnieją rozbieżności interpretacyjne co do statusu tablic, jednak wytyczne UODO, EROD i orzecznictwo TSUE skłaniają do ich anonimizacji, co należy uwzględnić w planowaniu SLA.
Odniesienia normatywne i źródła
Poniżej ujęto standardy i wytyczne, które precyzują pojęcia metryk czasu, synchronizacji oraz ramy prawne dla przetwarzania wideo zawierającego dane osobowe.
- ISO/IEC 25010:2011 - Systems and software quality models. Sekcja performance efficiency definiuje time behavior, w tym czasy przetwarzania i przepustowość. https://www.iso.org/standard/35733.html
- ITU-T Y.1541 (2011) - Network performance objectives for IP-based services. Określa m.in. opóźnienia sieciowe i ich klasy. https://www.itu.int/rec/T-REC-Y.1541
- IEEE 1588-2019 - Precision Time Protocol. Standard synchronizacji czasu dla pomiarów rozproszonych. https://standards.ieee.org/standard/1588-2019.html
- ITU-T H.264 | ISO/IEC 14496-10 AVC oraz ITU-T H.265 | ISO/IEC 23008-2 HEVC - standardy kodowania wideo, których ustawienia wpływają na opóźnienia dekodowania i kodowania. https://www.itu.int/rec/T-REC-H.264 i https://www.itu.int/rec/T-REC-H.265
- RODO - Rozporządzenie (UE) 2016/679, art. 25 privacy by design i by default. https://eur-lex.europa.eu/eli/reg/2016/679/oj
- EDPB, Guidelines 3/2019 on processing of personal data through video devices, Version 2.0, 29.01.2020. https://edpb.europa.eu