Кіріспе

Деректерді кодтау стандарты KLV (Key Length Value) - деректерді кодтау стандарты, көбінесе бейне ағындарына ақпаратты ендіру үшін қолданылады. Стандартта типті кодтау схемасы қолданылады. Нысандар кілт ұзындығы мен мәнінің үштік түріне кодталады, мұнда кілт деректерді анықтайды, ұзындығы деректердің ұзындығын анықтайды, ал мән - деректердің өзі. Ол SMPTE 336M 2007 (Key Length Value қолданатын деректерді кодтау протоколы) -де анықталады, оны кино және теледидар инженерлері қоғамы бекітті. KLV-дің өзара іс-қимыл қабілеттілігінің жоғары деңгейіне байланысты оны Киносурет стандарттары жөніндегі кеңес де қабылдады.

Кілт өрісі

Алғашқы бірнеше байт - кілт, стандартты хэш-таблицаның дерек құрылымындағы кілтке ұқсас. Кілттердің ұзындығы 1, 2, 4 немесе 16 байт болуы мүмкін. Бәлкім, сіз белгілі бір қосымша үшін кілттің ұзындығы туралы жеке спецификация құжатында келісетін боларсыз. Әдетте, он алты байт кілттер бүкіл әлемде тіркелген бірегей идентификаторлар ретінде пайдаланылады, ал мұндай пакеттің Value бөлігі әдетте кіші кілттермен KLV жиынтықтарының сериясын қамтиды.

Ұзындығы өрісі

Кілттің байттан кейін, Ұзындығы өрісінің байттан кейін қанша байт ұзындығы өрісінен кейін келеді және Құн бөлігін құрайды. Ұзындығы өрісінің төрт кодтамасы бар: 1 байт, 2 байт, 4 байт және Бастапқы кодтама ережесі (BER). 1, 2 және 4 байт нұсқалары өте қарапайым: байттардан белгісіз бүтін сан жасаңыз, ал ол бүтін сан келесі байттардың саны болады. BER ұзындығы кодтау біршама күрделі, бірақ ең икемді. Егер ұзындығы өрісінің бірінші байтында биттің ең жоғары саны (0x80) болмаса, онда бұл бір байт 0 мен 127 арасындағы бүтін санды білдіреді және бірден соңынан келетін Value байттарының санын көрсетеді. Егер биттің жоғарғы бөлігі орнатылса, онда төменгі жеті биттің саны ұзындығы өрісін құрайтын байттардың санын көрсетеді. Мысалы, егер BER ұзындығы өрісінің бірінші байты 10000010 екілік болса, бұл келесі екі байт бүтін санды құрайтынын көрсетеді, содан кейін қанша Баға байты жалғасатынын көрсетеді. Сондықтан ұзындығын анықтау үшін барлығы үш байт алынды.

Құн өрісі

Қалған байттар - "Value" өрісі, оның мазмұны қалаған нәрселеріңізге сәйкес болуы мүмкін, соның ішінде көбінесе KLV жиынтықтарының тізбегі.