Lab029B. Временная модель серийных потерь видеопакетов Исходные данные и транспорт - Видео: data\raw\lab026_rover_source.mp4 - Источник: 1280x720, 30.000000 fps, 623 кадров, 20.766667 с. - Использованы все 63 реальные пары: BASE 240x135 grayscale JPEG Q23, ROI 320x180 grayscale JPEG Q33, 3 составных кадра/с. - Формат Lab028 не изменён: заголовок 32 байта, packet CRC32, object CRC32, отдельные BASE/ROI, атомарный CompositeReassembler. - Порядок передачи внутри кадра: сначала все BASE-фрагменты, затем все ROI-фрагменты. Поэтому длительная помеха может затрагивать объекты несимметрично. Временная модель передачи - Контрольная скорость: 300 кбит/с. Это параметр лабораторной, а не выбранная скорость радиоканала. - Длительность пакета = фактическая длина (32-byte header + фактический payload) × 8 / 300000. - Кадр доступен в момент frame_id / 3. Пакеты BASE и ROI передаются подряд; искусственных межпакетных интервалов нет. Остаток периода до следующего кадра является естественным idle. - Payload 256: packets=1660, timeline=20.881627 с, packet duration min/max=0.986667/7.680000 мс. - Payload 512: packets=862, timeline=20.869680 с, packet duration min/max=1.093333/14.506667 мс. - Payload 1024: packets=478, timeline=20.863707 с, packet duration min/max=1.093333/28.160000 мс. Временная модель канала - Good пропускает пакеты, Bad теряет пакеты. Длительности состояний независимы и экспоненциально распределены. - Целевая стационарная доля Bad: 2.0%. - mean Good = mean Bad × (1-0.02)/0.02 = 49 × mean Bad. - Консервативное допущение: пакет считается потерянным, если хотя бы часть его передачи пересекается с Bad. - Monte Carlo: 200 повторов на условие; master seed=290290; seeds 290290...290293. - Один seed для одинаковой длительности повторно используется для payload 256/512/1024. Параметры состояний mean Bad | mean Good | target Bad --------:|----------:|----------: 10 мс | 490 мс | 2.0% 50 мс | 2450 мс | 2.0% 200 мс | 9800 мс | 2.0% 1000 мс | 49000 мс | 2.0% Функциональные проверки - PASS zero_bad_state_100_percent: all 63 composite frames restored for all payloads - PASS fixed_seed_reproducibility: identical seed produced identical aggregate fields - PASS adjacent_frame_isolation: two interleaved neighboring frames remained independent - PASS atomic_incomplete_frame: missing ROI fragment prevented atomic publication - PASS stationary_bad_fraction: all observed Bad fractions are within 0.323 percentage points of 2% - PASS longer_bad_longer_outage: mean held-image interval increased from 0.819350 to 1.295846 s - PASS actual_packet_transmission_time: duration equals actual wire bits / 300000 for full and short final packets Полная сравнительная таблица Bad ms | payload | Bad actual | tx/rx/lost packets | packet delivery | BASE | ROI | composite | BASE-only | ROI-only | incomplete | lost burst mean/p95/max | incomplete run mean/p95/max | no image mean/p95/max s | recovery mean/p95/max s | video kbit/s ------:|--------:|-----------:|-------------------:|----------------:|-----:|----:|----------:|----------:|---------:|-----------:|-----------------------:|----------------------------:|-------------------------:|------------------------:|------------: 10 | 256 | 2.016% | 332000/320339/11661 | 96.488% | 84.611% | 75.659% | 65.357% | 2426 | 1298 | 4365 | 2.27/5.0/13 | 1.52/3.0/10 | 0.831/1.350/3.650 | 0.547/1.180/3.364 | 102.487 10 | 512 | 2.008% | 172400/164214/8186 | 95.252% | 85.183% | 77.008% | 66.968% | 2295 | 1265 | 4162 | 1.72/3.0/8 | 1.48/3.0/10 | 0.815/1.343/3.651 | 0.521/1.131/3.353 | 105.043 10 | 1024 | 2.022% | 95600/89121/6479 | 93.223% | 85.595% | 76.984% | 67.397% | 2293 | 1208 | 4108 | 1.43/3.0/6 | 1.47/3.0/10 | 0.812/1.339/3.651 | 0.513/1.115/3.348 | 105.783 50 | 256 | 2.041% | 332000/324191/7809 | 97.648% | 95.333% | 92.960% | 90.405% | 621 | 322 | 1209 | 6.43/17.3/37 | 1.10/2.0/3 | 0.694/1.001/1.348 | 0.441/0.727/1.207 | 141.796 50 | 512 | 2.083% | 172400/167870/4530 | 97.372% | 95.492% | 93.198% | 90.889% | 580 | 291 | 1148 | 3.94/10.0/19 | 1.10/2.0/3 | 0.693/1.000/1.348 | 0.428/0.714/1.196 | 142.643 50 | 1024 | 2.046% | 95600/92757/2843 | 97.026% | 95.619% | 93.421% | 91.095% | 570 | 293 | 1122 | 2.55/6.0/12 | 1.10/2.0/3 | 0.691/1.000/1.348 | 0.422/0.702/1.191 | 143.006 200 | 256 | 1.854% | 332000/325460/6540 | 98.030% | 97.540% | 96.762% | 96.230% | 165 | 67 | 475 | 17.82/49.0/80 | 1.32/3.0/4 | 0.765/1.312/1.657 | 0.547/0.970/1.468 | 150.968 200 | 512 | 1.854% | 172400/168900/3500 | 97.970% | 97.579% | 96.857% | 96.333% | 157 | 66 | 462 | 9.72/26.0/41 | 1.31/3.0/4 | 0.761/1.158/1.657 | 0.536/0.959/1.456 | 151.215 200 | 1024 | 1.854% | 95600/93582/2018 | 97.889% | 97.627% | 96.905% | 96.381% | 157 | 66 | 456 | 5.70/15.0/24 | 1.31/3.0/4 | 0.762/1.228/1.658 | 0.531/0.954/1.451 | 151.334 1000 | 256 | 1.678% | 332000/326429/5571 | 98.322% | 98.143% | 98.008% | 97.802% | 43 | 26 | 277 | 59.27/172.4/403 | 2.98/7.4/16 | 1.302/2.809/5.665 | 1.087/2.487/5.585 | 153.470 1000 | 512 | 1.678% | 172400/169489/2911 | 98.311% | 98.143% | 98.048% | 97.841% | 38 | 26 | 272 | 31.30/91.6/210 | 2.96/7.5/16 | 1.295/2.826/5.665 | 1.077/2.476/5.576 | 153.618 1000 | 1024 | 1.677% | 95600/93965/1635 | 98.290% | 98.143% | 98.079% | 97.873% | 34 | 26 | 268 | 17.77/50.9/116 | 2.95/7.5/16 | 1.291/2.843/5.665 | 1.071/2.471/5.571 | 153.712 Допущения и ограничения - Не моделируются FEC, интерливинг, ARQ, повторные передачи, искусственные межпакетные интервалы, преамбула физического уровня, управление и телеметрия. - Bad-интервалы не зависят от границ пакетов; любое частичное пересечение уничтожает пакет целиком. - no-new-image duration для серии невосстановленных кадров измеряется от публикации предыдущего полного кадра до публикации следующего; при краевых сериях используются начало и конец временной шкалы. - interference-to-next-frame измеряется от начала каждого Bad-интервала до первого следующего опубликованного составного кадра или до конца шкалы. - Эффективный видеопоток учитывает JPEG bytes только атомарно восстановленных BASE+ROI и полную длительность расписания. - Результаты зависят от порядка BASE затем ROI и от контрольной скорости 300 кбит/с. - Окончательный размер payload автоматически не выбирается. Артефакты - CSV: data\processed\lab029b\lab029b_results.csv - Composite success: data\processed\lab029b\lab029b_composite_success.png - No-new-image duration: data\processed\lab029b\lab029b_no_image_duration.png - Missing frame runs: data\processed\lab029b\lab029b_missing_frame_runs.png - Payload comparison: data\processed\lab029b\lab029b_payload_comparison.png - JPEG, пакеты и бинарные дампы не сохранялись.