sync with 1.0.1
[platform/upstream/flac.git] / doc / ru / format.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//RU">
2 <!-- Copyright (c)  2001  Josh Coalson -->
3 <!-- Permission is granted to copy, distribute and/or modify this document -->
4 <!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
5 <!-- or any later version published by the Free Software Foundation; -->
6 <!-- with no invariant sections. -->
7 <!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
8 <HTML>
9 <HEAD>
10 <META CHARSET="windows-1251">
11 <TITLE>FLAC: ôîðìàò</TITLE>
12 </HEAD>
13
14 <BODY>
15 <CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
16 <TR>
17 <TD align=center>|</TD>
18 <TD height=22 align=center nowrap>
19 &nbsp;<A HREF="index.html">íà÷àëî</A>&nbsp;</TD>
20 <TD align=center>|</TD>
21 <TD align=center nowrap>
22 &nbsp;<A HREF="news.html">íîâîñòè</A>&nbsp;</TD>
23 <TD align=center>|</TD>
24 <TD align=center nowrap>
25 &nbsp;<A HREF="download.html">ôàéëû</A>&nbsp;</TD>
26 <TD align=center>|</TD>
27 <TD align=center nowrap>
28 &nbsp;<A HREF="features.html">õàðàêòåðèñòèêè</A>&nbsp;</TD>
29 <TD align=center>|</TD>
30 <TD align=center nowrap>
31 &nbsp;<A HREF="goals.html">öåëè</A>&nbsp;</TD>
32 <TD align=center>|</TD>
33 <TD align=center nowrap>
34 &nbsp;ôîðìàò&nbsp;</TD>
35 <TD align=center>|</TD></TR>
36
37 <TR>
38 <TD align=center>|</TD>
39 <TD align=center nowrap>
40 &nbsp;<A HREF="id.html">id</A>&nbsp;</TD>
41 <TD align=center>|</TD>
42 <TD align=center nowrap>
43 &nbsp;<A HREF="comparison.html">ñðàâíåíèå</A>&nbsp;</TD>
44 <TD align=center>|</TD>
45 <TD align=center nowrap>
46 &nbsp;<A HREF="developers.html">ðàçðàáîòêà</A>&nbsp;</TD>
47 <TD align=center>|</TD>
48 <TD align=center nowrap>
49 &nbsp;<A HREF="documentation.html">äîêóìåíòàöèÿ</A>&nbsp;</TD>
50 <TD align=center>|</TD>
51 <TD align=center nowrap>
52 &nbsp;<A HREF="links.html">ññûëêè</A>&nbsp;</TD>
53 <TD align=center>|</TD>
54 <TD align=center nowrap>
55 &nbsp;<A HREF="authors.html">àâòîðû</A>&nbsp;</TD>
56 <TD align=center>|</TD></TR>
57 </TABLE></CENTER>
58
59 <P><CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
60 <TR><TD align=center>|</TD>
61 <TD height=22 align=center nowrap>
62 &nbsp;<A HREF="../format.html">english</A>&nbsp;</TD>
63 <TD align=center>|</TD>
64 <TD align=center nowrap>
65 &nbsp;ðóññêèé</A>&nbsp;</TD>
66 <TD align=center>|</TD></TR>
67 </TABLE></CENTER></P>
68
69
70 <CENTER><H2>FLAC: ôîðìàò</H2></CENTER>
71
72
73 <H3>Ôîðìàò</H3>
74
75 <P>Çäåñü ïðèâåäåíî ïîëíîå îïèñàíèå ôîðìàòà FLAC.</P>
76
77
78 <H4>Îò àâòîðà</H4>
79
80 <P>Âî-ïåðâûõ, êàê îñíîâíîé ðàçðàáîò÷èê, ÿ äîëæåí îòìåòèòü, ÷òî íå ÿâëÿþñü ýêñïåðòîì â îáëàñòè ñæàòèÿ, ïîýòîìó ÷óâñòâóþ ñåáÿ îáÿçàííûì ïîáëàãîäàðèòü ìíîãèõ ëþäåé, ðàáîòàâøèõ íàä óëó÷øåíèåì àëãîðèòìîâ êîìïðåññèè àóäèîäàííûõ. Îòäåëüíóþ áëàãîäàðíîñòü ÿ âûðàæàþ:</P>
81
82 <P><BLOCKQUOTE>
83 <LI><A HREF="http://svr-www.eng.cam.ac.uk/~ajr/">Ý. Ðîáèíñîíó</A> çà ðàáîòó íàä Shorten. Åãî êîä è ñòàòüÿ ïîñëóæèëè îòïðàâíîé òî÷êîé äëÿ íåñêîëüêèõ îñíîâíûõ ìåòîäîâ, çàëîæåííûõ âî FLAC. FLAC ðàçâèë èäåþ ïîñòîÿííûõ ïðåäèêòîðîâ, èñïîëüçóåìóþ â Shorten.</LI>
84
85 <LI><A HREF="http://commsci.usc.edu/faculty/golomb.html">Ñ. Ãîëîìáó</A> è Ðîáåðòó Ðàéñó. Èõ óíèâåðñàëüíûå êîäû èñïîëüçóþòñÿ êîäåðîì ýíòðîïèè.</LI>
86
87 <LI>Í. Ëåâèíñîíó è Äæ. Äàðáèíó. Áàçîâûé åíêîäåð èñïîëüçóåò ðàçðàáîòàííûé è óëó÷øåííûé èìè àëãîðèòì äëÿ îïðåäåëåíèÿ LPC êîýôôèöèåíòîâ èç êîýôôèöèåíòîâ àâòîêîððåëÿöèè.</LI>
88
89 <LI>È, êîíå÷íî æå, <A HREF="http://www.digitalcentury.com/encyclo/update/shannon.html">Ê. Øåííîíó.</A></LI>
90 </BLOCKQUOTE></P>
91
92 <P>--Äæîø Êîëñîí</P>
93
94
95 <a name="scope">
96 <H4><u>Îáëàñòü ïðèìåíåíèÿ</u></H4>
97
98 <P>Îáùåèçâåñòíî, ÷òî íåò àëãîðèòìà, ñïîñîáíîãî ñæàòü áåç ïîòåðü âõîäíûå äàííûå ëþáîãî òèïà. Áîëüøèíñòâî àðõèâàòîðîâ ïîçèöèîíèðóþòñÿ äëÿ ðàáîòû ñ äàííûìè îïðåäåëåííîãî âèäà è îïòèìèçèðóþòñÿ äëÿ ýòîé îáëàñòè. FLAC ïðåäíàçíà÷åí äëÿ ñæàòèÿ àóäèîäàííûõ. Íåñìîòðÿ íà òî, ÷òî îí ìîæåò ñæàòü áåç ïîòåðü äàííûå ëþáîãî òèïà, òîëüêî îïðåäåëåííûé ââîä àðõèâèðóåòñÿ õîðîøî. FLAC èñïîëüçóåò òîò ôàêò, ÷òî îáû÷íî àóäèîäàííûå èìåþò âûñîêèé ïîðÿäîê êîððåëÿöèè ìåæäó ñýìïëàìè.</P>
99
100 <P> îáëàñòè àóäèî ñóùåñòâóåò ìíîæåñòâî âîçìîæíûõ ïîäðàçäåëîâ. Íàïðèìåð, ðå÷ü ñ íèçêèì áèòðåéòîì, ìíîãîêàíàëüíàÿ ìóçûêà ñ âûñîêîé ÷àñòîòîé äèñêðåòèçàöèè è ò.ä. FLAC íå íàöåëåí íà êàêîé-ëèáî ïîäðàçäåë, îäíàêî áîëüøèíñòâî ïàðàìåòðîâ ïî óìîë÷àíèþ áàçîâîãî åíêîäåðà ðàññ÷èòàíû íà CD-àóäèî (ò.å. 44.1êÃö, 2 êàíàëà, 16 áèò íà ñýìïë). Âëèÿíèå ïàðàìåòðîâ êîäèðîâàíèÿ íà ðàçíûå òèïû àóäèî áóäåò ðàññìîòðåíî ïîçæå.</P>
101
102 <a name="architecture">
103 <H4><u>Àðõèòåêòóðà</u></H4>
104
105 <P>Ïîäîáíî áîëüøèíñòâó ïðîãðàìì ïîäáíîãî ðîäà, åíêîäåð FLAC âûïîëíÿåò ñëåäóþùèå äåéñòâèÿ:</P>
106
107 <P><BLOCKQUOTE>
108 <LI><A HREF="format.html#blocking">Ðàçáèåíèå íà áëîêè</A>. Ââîä ðàçáèâàåòñÿ íà ìíîæåñòâî ïîñëåäîâàòåëüíûõ áëîêîâ, êîòîðûå ìîãóò èìåòü ðàçëè÷íûé ðàçìåð. Îïòèìàëüíûé ðàçìåð áëîêà îáû÷íî çàâèñèò îò ìíîãèõ ôàêòîðîâ, òàêèõ êàê ÷àñòîòà äèñêåòèçàöèè, ñïåêòðàëüíàÿ õàðàêòåðèñòèêà âî âðåìåíè è ò.ä. Íåñìîòðÿ íà òî, ÷òî ôîðìàò FLAC ïîçâîëÿåò èñïîëüçîâàòü â ïîòîêå áëîêè ðàçëè÷íîãî ðàçìåðà, áàçîâûé åíêîäåð èñïîëüçóåò ïîñòîÿííûé ðàçìåð.</LI>
109
110 <LI><A HREF="format.html#interchannel">Ìåæêàíàëüíàÿ äåêîððåëÿöèÿ</A>. Â ñëó÷àå ñòåðåîïîòîêîâ åíêîäåð ñîçäàåò ñðåäíèé è ðàçíîñòíûé ñèãíàëû, îñíîâàííûå íà ñðåäíåì çíà÷åíèè ìåæäó ëåâûì è ïðàâûì êàíàëàìè è èõ ðàçíîñòè ñîîòâåòñòâåííî. Íà ñëåäóþùèé ýòàï êîäèðîâàíèÿ ïåðåäàåòñÿ ëó÷øèé èç âàðèàíòîâ ñæàòîãî ñèãíàëà.</LI>
111
112 <LI><A HREF="format.html#prediction">Ïðîãíîçèðîâàíèå</A>. Äàëåå åíêîäåð ïûòàåòñÿ íàéòè ìàòåìàòè÷åñêîå îïèñàíèå ñèãíàëà (îáû÷íî ïðèáëèçèòåëüíîå). Çà÷àñòóþ îíî çíà÷èòåëüíî ìåíüøå ñàìîãî ñèãíàëà. Òàê êàê ìåòîäû ïðåäñêàçàíèÿ èçâåñòíû è êîäåðó, è äåêîäåðó â ïîòîêå íóæíî óêàçàòü òîëüêî ïàðàìåòðû ïðåäèêòîðà. Ñåé÷àñ FLAC èñïîëüçóåò ÷åòûðå ðàçëè÷íûõ êëàññà ïðåäèêòîðîâ (îïèñàííûõ â ðàçäåëå <A HREF="format.html#prediction">Ïðîãíîçèðîâàíèå</A>), íî â ôîðìàòå ïðåäóñìîòðåíî ìåñòî äëÿ äîïîëíèòåëüíûõ ìåòîäîâ. FLAC äîïóñêàåò èçìåíåíèå êëàññà ïðåäèêòîðà îò áëîêà ê áëîêó è äàæå â ïðåäåëàõ êàíàëà â áëîêå.</LI>
113
114 <LI><A HREF="format.html#residualcoding">Êîäèðîâàíèå îñòàòêîâ</A>. Åñëè ïðåäèêòîð íå îïèñûâàåò ñèãíàë òî÷íî, ðàçíèöà ìåæäó îðèãèíàëüíûì ñèãíàëîì è ñïðîãíîçèðîâàííûì (íàçûâàåìûì åùå îøèáî÷íûì èëè îñòàòî÷íûì) äîëæíà áûòü çàêîäèðîâàíà áåç ïîòåðü. Åñëè ïðåäñêàçàíèå ýôôåêòèâíî, îñòàòî÷íûé ñèãíàë áóäåò çàíèìàòü ìåíüøå áèò íà ñýìïë, ÷åì îðèãèíàëüíûé ñèãíàë. Ñåé÷àñ FLAC èñïîëüçóåò òîëüêî îäèí ìåòîä äëÿ êîäèðîâàíèÿ îñòàòêîâ (ñì. ðàçäåë <A HREF="format.html#residualcoding">Êîäèðîâàíèå îñòàòêîâ</A>), îäíàêî â ôîðìàòå ïðåäóñìîòðåíî ìåñòî äëÿ äîïîëíèòåëüíûõ ìåòîäîâ. FLAC äîïóñêàåò èçìåíåíèå ìåòîäà êîäèðîâàíèÿ îñòàòêîâ îò áëîêà ê áëîêó è äàæå â ïðåäåëàõ êàíàëà â áëîêå.</LI>
115 </BLOCKQUOTE></P>
116
117 <P> äîïîëíåíèå êî âñåìó îïðåäåëåíà ñèñòåìà ìåòàäàííûõ, ïîçâîëÿþùàÿ äîáàâëÿòü â íà÷àëî ïîòîêà ïðîèçâîëüíóþ èíôîðìàöèþ.</P>
118
119
120 <a name="definitions">
121 <H4><u>Îïðåäåëåíèÿ</u></H4>
122
123 <P>Ìíîãèå òåðìèíû, òàêèå êàê "áëîê" è "ôðåéì", èìåþò ðàçëè÷íîå çíà÷åíèå â ñõåìàõ êîäèðîâàíèÿ. Íàïðèìåð, ôðåéì â mp3 ñîîâåòñòâóåò ìíîãèì ñýìïëàì âî âñåõ êàíàëàõ, â òî âðåìÿ êàê ôðåéì S/PDIF ïðåäñòàâëÿåò òîëüêî îäèí ñýìïë äëÿ êàæäîãî êàíàëà. Îáðàòèòå âíèìàíèå íà òî, ÷òî, ãîâîðÿ î "áëîêàõ" è "ïîäáëîêàõ", ìû ññûëàåìñÿ íà íåçàêîäèðîâàííûå àóäèîäàííûå, à òåðìèíû "ôðåéì" è "ïîäôðåéì" èñïîëüçóåì äëÿ äàííûõ ñæàòûõ FLAC.</P>
124
125 <P><BLOCKQUOTE>
126 <LI><B>Áëîê</B> - ýòî îäèí èëè áîëåå ñýìïëîâ, íàõîäÿùèõñÿ â íåñêîëüêèõ êàíàëàõ.</LI>
127
128 <LI><B>Ïîäáëîê</B> - ýòî îäèí èëè áîëåå ñýìïëîâ èç îäíîãî êàíàëà. Òàêèì îáðàçîì, áëîê ñîäåðæèò ïîäáëîê äëÿ êàæäîãî êàíàëà è âñå ïîäáëîêè â íåì ñîäåðæàò îäèíàêîâîå êîëè÷åñòâî ñýìïëîâ.</LI>
129
130 <LI><B>Ðàçìåð áëîêà</B> - ýòî êîëè÷åñòâî ñýìïëîâ â ëþáîì èç ñâîèõ ïîäáëîêîâ. Íàïðèìåð, áëîê äëèíîé â îäíó ñåêóíäó ñ ÷àñòîòîé äåñêðåòèçàöèè 44.1êÃö èìååò ðàçìåð áëîêà 44100 âíå çàâèñèìîñòè îò êîëè÷åñòâà êàíàëîâ.</LI>
131
132 <LI><B>Ôðåéì</B> - ýòî çàãîëîâîê è îäèí èëè íåñêîëüêî ïîäôðåéìîâ.</LI>
133
134 <LI><B>Ïîäôðåéì</B> - ýòî çàãîëîâîê è îäèí èëè íåñêîëüêî çàêîäèðîâàííûõ ñýìïëîâ èç äàííîãî êàíàëà. Âñå ïîäôðåéìû â äàííîì ôðåéìå ñîäåðæàò îäèíàêîâîå êîëè÷åñòâî ñýìïëîâ.</LI>
135 </BLOCKQUOTE></P>
136
137
138 <a name="blocking">
139 <H4><u>Ðàçáèåíèå íà áëîêè</u></H4>
140
141 <P>Ðàçìåð áëîêîâ ñèëüíî âëèÿåò íà óðîâåíü ñæàòèÿ. Åñëè ðàçìåð áëîêà áóäåò ñëèøêîì ìàë, òî â èòîãå ïîëó÷èòñÿ î÷åíü ìíîãî ôðåéìîâ, à ýòî çíà÷èò, ÷òî íà çàãîëîâêè áóäåò ïîòðà÷åíî ìíîãî áèòîâ. Åñëè æå ðàçìåð áëîêà áîëüøîé, à õàðàêòåðèñòèêè ñèãíàëà ñèëüíî âàðüèðóþòñÿ, åíêîäåð íå ñìîæåò íàéòè õîðîøèé ïðåäèêòîð. ×òîáû óïðîñòèòü êîäåê, FLAC îïðåäåëÿåò ìèíèìàëüíûé ðàçìåð áëîêà â 16 ñýìïëîâ, à ìàêñèìàëüíûé â 65535 ñýìïëîâ. Ýòîò èíòåðâàë ïîêðûâàåò îïòèìàëüíûå ðàçìåðû áëîêîâ äëÿ âñåõ àóäèîäàííûõ, ïîääåðæèâàåìûõ FLAC.</P>
142
143 <P>Ñåé÷àñ áàçîâûé åíêîäåð èñïîëüçóåò ïîñòîÿííûé ðàçìåð áëîêà, îïòèìèçèðîâàííûé ïî ÷àñòîòå äèñêðåòèçàöèè ââîäà. Ïîñëåäóþùèå âåðñèè ñìîãóò èçìåíÿòü ðàçìåð áëîêà â çàâèñèìîñòè îò õàðàêòåðèñòèê ñèãíàëà.</P>
144
145 <P>Ðàçáèòûå íà áëîêè äàííûå ïåðåäàþòñÿ íà ñòàäèþ ïðîãíîçèðîâàíèÿ ïî îäíîìó ïîäáëîêó. Êàæäûé ïîäáëîê êîäèðóåòñÿ â ïîäôðåéì íåçàâèñèìî, à ïîçæå îíè îáúåíäèíÿþòñÿ âî ôðåéì. Òàê êàê êàæäûé êàíàë êîäèðóåòñÿ îòäåëüíî, ýòî îçíà÷àåò, ÷òî îäèí êàíàë ñòåðåî ôðåéìà ìîæåò ñæèìàòüñÿ êàê ïîñòîÿííûé ïîäôðåéì, à âòîðîé êàê LPC ïîäôðåéì.</P>
146
147
148 <a name="interchannel">
149 <H4><u>Ìåæêàíàëüíàÿ äåêîððåëÿöèÿ</u></H4>
150
151 <P> áîëüøèíñòâå ñëó÷àåâ â ñòåðåî ïîòîêàõ ñóùåñòâóåò äîñòàòî÷íûé óðîâåíü êîððåëÿöèè ìåæäó ëåâûì è ïðàâûì êàíàëàìè. FLAC ïîçâîëÿåò ôðåéìàì â ñòåðåî ïîòîêàõ èìåòü ðàçëè÷íîå ðàñïðåäåëåíèå êàíàëîâ, à åíêîäåð ìîæåò èñïîëüçîâàòü ëó÷øåå ïðåäñòàâëåíèå.</P>
152
153 <P><BLOCKQUOTE>
154 <LI><B>Íåçàâèñèìîå</B>. Ëåâûé è ïðàâûé êàíàëû êîäèðóþòñÿ íåçàâèñèìî.</LI>
155
156 <LI><B>Ðàçíîñòíîå</B>. Ëåâûé è ïðàâûé êàíàë ïðåîáðàçîâûâàþòñÿ â ñðåäíèé è îñòàòî÷íûé êàíàëû. Ñðåäíèé êàíàë - ýòî ñðåäíåå çíà÷åíèå ëåâîãî è ïðàâîãî ñèãíàëîâ, à îñòàòî÷íûé - ðàçíèöà ìåæäó íèìè (ëåâûé ìèíóñ ïðàâûé).</LI>
157
158 <LI><B>Ëåâîñòîðîííåå</B>. Êîäèðóåòñÿ ëåâûé è îñòàòî÷íûé êàíàëû.</LI>
159
160 <LI><B>Ïðàâîîñòîðîííåå</B>. Êîäèðóåòñÿ ïðàâûé è îñòàòî÷íûé êàíàëû.</LI>
161 </BLOCKQUOTE></P>
162
163 <P>Îêàçûâàåòñÿ, ÷òî ëåâîñòîðîííåå è ïðàâîñòîðîííåå êîäèðîâàíèå ìîãóò áûòü áîëåå ýôôåêòèâíûìè âî ìíîãèõ ôðåéìàõ, íåñìîòðÿ íà òî, ÷òî íåîáõîäèìîå äëÿ îðèãèíàëüíîãî ñèãíàëà êîëè÷åñòâî áèòîâ íà ñýìïë íåìíîãî áîëüøå, ÷åì äëÿ íåçàâèñèìîãî èëè óñðåäíåííîãî êîäèðîâàíèÿ.</P>
164
165
166 <a name="prediction">
167 <H4><u>Ïðîãíîçèðîâàíèå</u></H4>
168
169 <P>FLAC èñïîëüçóåò ÷åòûðå ìåòîäà äëÿ ìîäåëèðîâàíèÿ âõîäíîãî ñèãíàëà:</P>
170
171 <P><BLOCKQUOTE>
172 <LI><B>Äîñëîâíûé</B>. Ïî ñóùåñòâó ýòî ïðîãíîçèðîâàíèå ñèãíàëà íóëåâîãî óðîâíÿ. Ïðåäèêòîðîì ñèãíàëà ÿâëÿåòñÿ ñàì ñèãíàë, ïîòîìó ñæàòèå íå ïðîèñõîäèò. Ýòî îáðàçåö, ñ êîòîðûì ñâåðÿþòñÿ âñå îñòàëüíûå ïðåäèêòîðû. Åñëè ïåðåäàòü åíêîäåðó ñëó÷àéíûå äàííûå, äëÿ âñåõ ïîäáëîêîâ ñêîðå âñåãî áóäåò èñïîëüçîâàí äîñëîâíûé ïðåäèêòîð. Òàê êàê íåîáðàáîòàííûé ñèãíàë íå ïðîõîäèò ñòàäèþ êîäèðîâàíèÿ îñòàòêîâ, ðåçóëüòàòû íå áóäóò ñîâïàäàòü ñ ëèíåéíûì ïðåäèêòîðîì íóëåâîãî ïîðÿäêà.</LI>
173
174 <LI><B>Ïîñòîÿííûé</B>. Ýòîò ïðåäèêòîð èñïîëüçóåòñÿ, êîãäà ïîäáëîê ñîäåðæèò öèôðîâóþ òèøèíó, ò.å. íà âõîä ïîñòóïàåò îäíà êîíñòàíòà. Ñèãíàë êîäèðóåòñÿ ïî âñåé äëèíå è äîáàâëÿåòñÿ ê ïîòîêó.</LI>
175
176 <LI><B>Ïîñòîÿííûé ëèíåéíûé ïðåäèêòîð</B>. FLAC èñïîëüçóåò êëàññ ýôôåêòèâíî âû÷èñëÿåìûõ ïîñòîÿííûõ ëèíåéíûõ ïðåäèêòîðîâ (õîðîøåå îïèñàíèå ïðèâåäåíî ó <A HREF="http://svr-www.eng.cam.ac.uk/~ajr/GroupPubs/Robinson94-tr156/index.html">Shorten</A> è <A HREF="http://www.hpl.hp.com/techreports/1999/HPL-1999-144.pdf">AudioPak</A>). FLAC äîáàâëÿåò ïðåäèêòîð ÷åòâåðòîãî óðîâíÿ ê èñïîëüçîâàííûì â Shorten ïðåäèêòîðàì îò íóëåâîãî äî òðåòüåãî óðîâíÿ. Òàê êàê ïðåäèêòîðû ïîñòîÿííû, â ñæàòîì ïîòîêå íåîáõîäèìî ñîõðàíèòü òîëüêî ïîðÿäîê ïðåäèêòîðà. Îñòàòî÷íûé ñèãíàë ïåðåäàåòñÿ êîäåðó îñòàòêîâ.</LI>
177
178 <LI><B>Ëèíåéíîå ïðîãíîçèðîâàíèå FIR</B>. Äëÿ áîëåå òî÷íîãî ìîäåëèðîâàíèÿ (çà ñ÷åò ìåäëåííîé ðàáîòû) FLAC ïîääåðæèâàåò ëèíåéíîå ïðîãíîçèðîâàíèå FIR äî 32 ïîðÿäêà (ñì. <A HREF="http://svr-www.eng.cam.ac.uk/~ajr/GroupPubs/Robinson94-tr156/index.html">Shorten</A> è <A HREF="http://www.hpl.hp.com/techreports/1999/HPL-1999-144.pdf">AudioPak</A>). Áàçîâûé åíêîäåð èñïîëüçóåò ìåòîä Ëåâèíñîíà-Äàðáèíà äëÿ ðàñ÷åòà LPC êîýôôèöèåíòîâ èç êîýôôèöèåíòîâ àâòîêîððåëÿöèè è êîýôôèöèåíòû ðàçáèâàþòñÿ ïåðåä âû÷èñëåíèåì îñòàòêîâ. Â òî âðåìÿ êàê òàêèå åíêîäåðû êàê Shorten èñïîëüçóþò ïîñòîÿííîå ðàçáèåíèå äëÿ âñåãî ââîäà, FLAC ïîçâîëÿåò äëÿ êàæäîãî ôðåéìà ìåíÿòü òî÷íîñòü êîýôôèöèåíòà ðàçáèåíèÿ. Áàçîâûé åíêîäåð FLAC îöåíèâàåò îïòèìàëüíóþ òî÷íîñòü, îñíîâûâàÿñü íà ðàçìåðå áëîêà è äèàïàçîíå îðèãèíàëüíîãî ñèãíàëà.</LI>
179 </BLOCKQUOTE></P>
180
181 <a name="residualcoding">
182 <H4><u>Êîäèðîâàíèå îñòàòêîâ</u></H4>
183
184 <P>Äëÿ êîäèðîâàíèÿ îñòàòî÷íîãî ñèãíàëà îò ñòàäèè ïðîãíîçèðîâàíèÿ FLAC èñïîëüçóåò äâà ïîõîæèõ ìåòîäà. Îñòàòî÷íûé ñèãíàë ñæèìàåòñÿ ñ èñïîëüçîâàíèåì êîäîâ Ðàéñà ñëåäóþùèìè ñïîñîáàìè:</P>
185
186 <BLOCKQUOTE><ol>
187 <LI>Åíêîäåð îöåíèâàåò îäèíî÷íûé ïàðàìåòð Ðàéñà, îñíîâàííûé íà ðàçíèöå îñòàòêà è êîäîâ Ðàéñà. Âåñü îñòàòîê êîäèðóåòñÿ ñ èñïîëüçîâàíèåì ýòîãî ïàðàìåòðà.</LI>
188
189 <LI>Îñòàòîê äåëèòñÿ íà íåñêîëüêî èíòåðâàëîâ îäèíàêîâîé äëèíû è êàæäûé èç íèõ êîäèðóåòñÿ ñî ñâîèì ïàðàìåòðîì Ðàéñà, îñíîâàííûì íà ñðåäíåì çíà÷åíèè äëÿ äàííîãî èíòåðâàëà.</LI>
190 </ol></BLOCKQUOTE>
191
192 <P>Îáðàòèòå âíèìàíèå íà òî, ÷òî ïåðâûé ìåòîä ÿâëÿåòñÿ ÷àñòíûì ñëó÷àåì âòîðîãî ñ îäíèì èíòåðâàëîì. Îòëè÷èå ñîñòîèò â òîì, ÷òî â ïåðâîì ìåòîäå ïàðàìåòð Ðàéñà âû÷èñëÿåòñÿ äëÿ ðàçíèöû îñòàòêà, à íå äëÿ ñðåäíåãî çíà÷åíèÿ.</P>
193
194 <P> ôîðìàòå FLAC çàðåçåðâèðîâàíî ìåñòî äëÿ äðóãèõ ìåòîäîâ êîäèðîâàíèÿ. Êòî-íèáóäü ìîæåò ïîïûòàòüñÿ íàéòè ëó÷øåå êîíòåêñòíîå ìîäåëèðîâàíèå ïàðàìåòðà Ðàéñà èëè êîäèðîâàíèÿ Õàôôìàíà. Îïèñàíèÿ íåñêîëüêèõ óíèâåðñàëüíûõ êîäîâ ìîæíî íàéòè íà ñòðàíèöàõ <A HREF="http://www.hpl.hp.com/techreports/98/HPL-98-193.html">LOCO-I</A> è <A HREF="http://www.cs.tut.fi/~albert/Dev/pucrunch/packing.html">pucrunch</A>.</P>
195
196
197 <a name="prediction">
198 <H4><u>Ôîðìàò</u></H4>
199
200 <P> ýòîì ðàçäåëå îïèñûâàåòñÿ ôîðìàò ôàéëà. Ôîðìàò FLAC íå ïðåäóñìàòðèâàåò ïîëÿ äëÿ íîìåðà âåðñèè, îäíàêî ñîäåðæèò íåñêîëüêî çàðåçåðâèðîâàííûõ ïîçèöèé. Ïîñëåäóþùèå âåðñèè ñìîãóò èñïîëüçîâàòü ýòî ìåñòî áåç íàðóøåíèÿ ñîâìåñòèìîñòè ñ ïðåäûäóùèìè âåðñèÿìè. Áîëåå ñòàðûå âåðñèè äåêîäåðîâ ìîãóò ëèáî ïðåêðàùàòü ðàáîòó, ëèáî ïðîïóñêàòü äàííûå, çàêîäèðîâàííûå íîâûìè ìåòîäàìè. Êðîìå òîãî çàðåçåðâèðîâàíû íåêîòîðûå ñïåöèàëüíûå çíà÷åíèÿ, êîòîðûå íå ìîãóò ïîÿâèòüñÿ íè â îäíîé èç âåðñèé ôîðìàòà. Ýòî îáû÷íî äåëàåòñÿ äëÿ óëó÷øåíèÿ ìåõàíèçìà ñèíõðîíèçàöèè.</P>
201
202 <P>Âñå ÷èñëà â ôîðìàòå FLAC ÿâëÿþòñÿ öåëûìè, ìëàäøèé áàéò êîòîðûõ çàïèñûâàåòñÿ âíà÷àëå (big-endian). ×èñëà ÿâëÿþòñÿ áåççíàêîâûìè, êðîìå òåõ ñëó÷àåâ, ãäå ÿâíî óêàçàíî îáðàòíîå.</P>
203
204 <a name="overview">
205 <P>Ê ïîòîêó FLAC ìîãóò áûòü äîáàâëåíû òýãè ID3v1 (â êîíöå) è ID3v2 (â íà÷àëå). Ýòè äàííûå íå îòíîñÿòñÿ ê ôîðìàòó, îäíàêî äåêîäåð óìååò ïðîïóñêàòü èõ.</P>
206
207 <P>Ïåðåä ïîëíûì îïèñàíèåì ôîðìàòà ïðèâåäåì åãî êðàòêèé îáçîð.</P>
208
209 <P><BLOCKQUOTE>
210 <LI>Ôîðìàò FLAC ñîñòîèò èç ìàðêåðà "fLaC" â íà÷àëå ïîòîêà, çà êîòîðûì ñëåäóåò îáÿçàòåëüíûé áëîê STREAMINFO, ëþáîå êîëè÷åñòâî äðóãèõ áëîêîâ ìåòàäàííûõ, à çàòåì àóäèîôðåéìû.</LI>
211
212 <LI>FLAC ïîääåðæèâàåò äî 128 áëîêîâ ìåòàäàííûõ. Ñåé÷àñ îïðåäåëåíû:</LI>
213
214 <UL>
215 <A NAME="def_STREAMINFO">
216 <LI><TT>STREAMINFO</TT>: Ýòîò áëîê ñîäåðæèò èíôîðìàöèþ îáî âñåì ïîòîêå (÷àñòîòó äèñêðåòèçàöèè, êîëè÷åñòâî êàíàëîâ, êîëè÷åñòâî ñýìïëîâ è ò.ä.). Îí âñåãäà äîëæåí áûòü ïåðâûì áëîêîì ìåòàäàííûõ â ïîòîêå. Ñëåäóþùèå áëîêè äîëæíû ñëåäîâàòü çà íèì, è ìîãóò áûòü ïðîïóùåíû äåêîäåðîì.</LI>
217
218 <A NAME="def_APPLICATION">
219 <LI><TT>APPLICATION</TT>: Ýòîò áëîê ïðåäíàçíà÷åí äëÿ èñïîëüçîâàíèÿ ïðèëîæåíèÿìè òðåòüèõ ëèö. Åäèíñòâåííûì îáÿçàòåëüíûì ïîëåì ÿâëÿåòñÿ 32-áèòíûé èäåíòèôèêàòîð, êîòîðûé âûäàåòñÿ ðàçðàáîò÷èêàìè FLAC. Ôîðìàò îñòàâøåéñÿ ÷àñòè áëîêà îïðåäåëÿåòñÿ çàðåãèñòðèðîâàííûì ïîä ýòèì íîìåðîì ïðèëîæåíèåì. ×òîáû ïîëó÷èòü id äëÿ ñâîåãî ïðèëîæåíèÿ, ïîñåòèòå <A HREF="id.html">ñòðàíèöó ðåãèñòðàöèè</A>.</P>
220
221 <A NAME="def_PADDING">
222 <LI><TT>PADDING</TT>: Ýòîò áëîê ïðåäíàçíà÷åí äëÿ ðåçåðâèðîâàíèÿ ìåñòà. Ñîäåðæèìîå áëîêà <TT>PADDING</TT> íå èìååò çíà÷åíèÿ. Îí ïîëåçåí â òîì ñëó÷àå, åñëè èçâåñòíî, ÷òî áëîê ïîñëå êîäèðîâàíèÿ áóäåò äîáàâëåí áëîê <TT>APPLICATION</TT>. Ïîëüçîâàòåëü ìîæåò çàðåçåðâèðîâàòü íåîáõîäèìîå ïðîñòðàíñòâî ñ ïîìîùüþ áëîêà <TT>PADDING</TT>, ÷òîáû ïðèëîæåíèå ñìîãëî çàïèñàòü íà åãî ìåñòî áëîê <TT>APPLICATION</TT>. Ýòà îïåðàöèÿ çàéìåò íàìíîãî ìåíüøå âðåìåíè, ÷åì âñòàâêà áëîêà â íà÷àëî ôàéëà, òàê êàê â âòîðîì ñëó÷àå ïîòðåáóåòñÿ åãî ïîëíàÿ ïåðåçàïèñü.</LI>
223
224 <A NAME="def_SEEKTABLE">
225 <LI><TT>SEEKTABLE</TT>: Ýòî íåîáÿçàòåëüíûé áëîê äëÿ õðàíåíèÿ òî÷åê ïîèñêà. Â ïîòîêå FLAC ìîæíî íàéòè ëþáîé ñýìïë áåç ýòîé òàáëèöû, îäíàêî çàäåðæêà ìîæåò áûòü íåïðåäñêàçóåìîé, òàê êàê áèòðåéò â ïîòîêå ìîæåò ñóùåñòâåííî ìåíÿòüñÿ. Ñ ïîìîùüþ òàáëèöû òî÷åê ïîèñêà ïàóçà ìîæåò áûòü ñóùåñòâåííî ñîêðàùåíà. Êàæäàÿ òî÷êà çàíèìàåò 18 áàéòîâ, ïîýòîìó äëÿ áûñòðîãî ïîèñêà ñ òî÷íîñòüþ äî 1% íåîáõîäèìî âñåãî 2êá. Â ïîòîêå ìîæåò áûòü òîëüêî îäíè áëîê <TT>SEEKTABLE</TT>, íî â íåì ìîæåò áûòü ëþáîå êîëè÷åñòâî òî÷åê ïîèñêà. Òàêæå ñóùåñòâóþò ðåçåðâèðóåìûå òî÷êè, êîòîðûå ïðîïóñêàþòñÿ äåêîäåðîì, íî ìîãóò èñïîëüçîâàòüñÿ äëÿ ïîñëåäóþùèõ âñòàâîê ðåàëüíûõ òî÷åê ïîèñêà.</LI>
226 </UL>
227
228 <LI>Àóäèîïîòîê ñîñòîèò èç îäíîãî èëè íåñêîëüêèõ ôðåéìîâ. Ó êàæäîãî ôðåéìà åñòü çàãîëîâîê, ñîñòîÿùèé èç êîäà ñèíõðîíèçàöèè, èíôîðìàöèè î ôðåéìå (ðàçìåð áëîêà, ÷àñòîòà äèñêðåòèçàöèè, êîëè÷åñòâî êàíàëîâ è ò.ï.) è âîñüìèáèòíîé êîíòðîëüíîé ñóììû. Òàêæå â çàãîëîâêå ñîäåðæèòñÿ ëèáî íîìåð ïåðâîãî ñýìïëà âî ôðåéìå îòíîñèòåëüíî âñåãî ïîòîêà (äëÿ ïîòîêîâ ñ èçìåíÿþùèìñÿ ðàçìåðîì áëîêà) èëè íîìåð ôðåéìà (äëÿ ïîòîêîâ ñ ïîñòîÿííûì ðàçìåðîì áëîêà). Ýòî ïîçâîëÿåò ïðîèçâîäèòü áûñòðûé è òî÷íûé ïîèñê. Äàëåå ñëåäóþò çàêîäèðîâàííûå ïîäôðåéìû (ïî îäíîìó íà êàæäûé êàíàë) è, íàêîíåö, ôðåéì, äîïîëíåííûé íóëÿìè äî ãðàíèöû áàéòà. Êàæäûé ïîäôðåéì èìååò ñâîé çàãîëîâîê, îïðåäåëÿþùèé ñïîñîá åãî äåêîäèðîâàíèÿ.</LI>
229
230 <LI>Òàê êàê äåêîäåð ìîæåò íà÷àòü ðàáîòó â ñåðåäèíå ïîòîêà, äîëæåí áûòü ìåòîä îïðåäåëåíèÿ íà÷àëà ôðåéìà. Êàæäûé ôðåéì íà÷èíàåòñÿ ñ 14-áèòíîãî ñèíõðîíèçèðóþùåãî êîäà. Ýòîò êîä íå ìîæåò ïîÿâëÿòüñÿ íè â îäíîì äðóãîì ìåñòå çàãîëîâêà ôðåéìà. Îäíàêî òàê êàê ýòî êîä ìîæåò ïîÿâèòüñÿ â ïîäôðåéìàõ, ó äåêîäåðà åñòü äâà ñïîñîáà îïðåäåëèòü, ÷òî äàííàÿ ïîñëåäîâàòåëüíîñòü ÿâëÿåòñÿ íà÷àëîì ôðåéìà. Ñíà÷àëà ïðîâåðÿåòñÿ êîððåêòíîñòü äàííûõ âî âñåì ôðåéìå. Îäíàêî ýòîò øàã íå ìîæåò ãàðàíòèðîâàòü îòñóòñòâèÿ îøèáîê, ïîýòîìó äîïîëíèòåëüíî ïðîèçâîäèòñÿ ðàñ÷åò âîñüìèáèòíîé êîíòðîëüíîé ñóììû çàãîëîâêà ôðåéìà è ïîëó÷åííûé ðåçóëüòàò ñðàâíèâàåòñÿ ñî çíà÷åíèåì, ïîëó÷åííûì ïðè êîäèðîâàíèè è çàïèñàííûì ïîñëå çàãîëîâêà ôðåéìà.</LI>
231
232 <LI>Êàæäûé ôðåéì äîëæåí ñîäåðæàòü îñíîâíóþ èíôîðìàöèþ î ïîòîêå, òàê êàê äåêîäåð ìîæåò íå èìåòü äîñòóïà ê áëîêó ìåòàäàííûõ <TT>STREAMINFO</TT> â íà÷àëå ïîòîêà. Ñþäà âõîäèò ÷àñòîòà äèñêðåòèçàöèè, êîëè÷åñòâî áèò íà ñýìïë, êîëè÷åñòâî êàíàëîâ è ò.ä. Òàê êàê çàãîëîâîêè ôðåéìîâ âíîñÿò äîïîëíèòåëüíûå íàêëàäíûå ðàñõîäû, òî îíè âëèÿþò óðîâåíü ñæàòèÿ. ×òîáû ñäåëàòü çàãîëîâêè ôðåéìîâ ìèíèìàëüíûìè, FLAC èñïîëüçóåò òàáëèöû ïîèñêà äëÿ íàèáîëåå ÷àñòî èñïîëüçóåìûõ çíà÷åíèé ïàðàìåòðîâ ôðåìîâ. Íàïðèìåð, ÷àñòü, îòâå÷àþùàÿ çà ÷àñòîòó äèñêðåòèçàöèè, çàíèìàåò 4 áèòà. Âîñåìü ïðåäîïðåäåëåííûõ çíà÷åíèé ñîîòâåòñòâóþò íàèáîëåå ñàìûì ðàñïðîñòðàíåííûì ÷àñòîòàì (8/16/22.05/24/32/44.1/48/96 êÃö). Îäíàêî äîïîëíèòåëüíûå ÷àñòîòû ìîãóò áûòü èñïîëüçîâàíû ñ ïîìîùüþ ñïåöèàëüíîãî íàáîðà áèòîâ, óêàçûâàþùåãî äåêîäåðó, ÷òî íåîáõîäèìîå çíà÷åíèå íàõîäèòñÿ â êîíöå çàãîëîâêà. Òàêîé æå ìåòîä èñïîëüçóåòñÿ äëÿ óêàçàíèÿ ðàçìåðà áëîêà è êîëè÷åñòâà áèòîâ íà ñýìïë. Â ýòîì ñëó÷àå çàãîëîâîê îñòàåòñÿ äîñòàòî÷íî ìàëûì äëÿ íàèáîëåå ðàñïðîñòðàíåííûõ òèïîâ àóäèîäàííûõ.</LI>
233
234 <LI>Ïîäôðåéìû (ïî îäíîìó äëÿ êàæäîãî êàíàëà) êîäèðóþòñÿ âî ôðåéìå îòäåëüíî è õðàíÿòñÿ â ïîòîêå ïîñëåäîâàòåëüíî. Ýòî âåäåò ê óïðîùåíèþ äåêîäåðà, îäíàêî öåíîé ýòîìó ÿâëÿåòñÿ óâåëè÷åíèå ðàçìåðîâ áóôôåðà. Ó êàæäîãî ïîäôðåéìà åñòü ñâîé çàãîëîâîê, îïðåäåëÿþùèé åãî àòòðèáóòû (ìåòîä è ïîðÿäîê ïðîãíîçèðîâàíèÿ, ïàðàìåòðû êîäèðîâàíèÿ îñòàòêîâ è ò.ä.). Çà çàãîëîâêîì ñëåäóþò àóäèîäàííûå äëÿ ýòîãî êàíàëà.</LI>
235
236 <A NAME="subset">
237 <LI>Âî FLAC îïðåäåëåíî ñïåöèàëüíîå ïîäìíîæåñòâî ôîðìàòà (Subset format). Âñå ïîòîêè ñæàòûå ýòèì ìåòîäîì íà ñàìîì äåëå ÿâëÿþòñÿ ïîòîêîâûìè, òî åñòü äåêîäåð, êîòîðûé íå ìîæåò èñêàòü â ïîòîêå, èìååò âîçìîæíîñòü ïåðåéòè ê ëþáîé åãî òî÷êå è íà÷àòü âîñïðîèçâåäåíèå. Äëÿ ôàéëîâ, îòâå÷àþùèõ ýòîìó ïîäìíîæåñòâó ôîðìàòà, çíà÷èòåëüíî ïðîùå ñäåëàòü àïïàðàòíûé äåêîäåð. <B><TT>flac</TT></B> ïî óìîë÷àíèþ ñîçäàåò ïîòîêè, îòâå÷àþùèå ýòîìó ïîäìíîæåñòâó ôîðìàòà. Êëþ÷ <TT>--lax</TT> çàïðåùàåò ñîçäàíèå òàêèõ ïîòîêîâ. ×òîáû ôàéë îòâå÷àë äàííîìó ïîäìíîæåñòâó, äëÿ íåãî äîëæíû âûïîëíÿòüñÿ ñëåäóþùèå îãðàíè÷åíèÿ:</LI>
238
239     <UL>
240         <LI>Çíà÷åíèå áèòîâ, îòâå÷àþùèõ çà ðàçìåð áëîêà, äîëæíî áûòü â ïðåäåëàõ 0001-0101 èëè 1000-1111. Ïîòîê äîëæåí ñîñòîÿòü èç áëîêîâ îäèíàêîâîãî ðàçìåðà (çà èñêëþ÷åíèåì ïîñëåäíåãî), à â áëîêå ìåòàäàííûõ <TT>STREAMINFO</TT> äîëæíû áûòü óêàçàíû ðàâíûå çíà÷åíèÿ äëÿ ìèíèìàëüíîãî è ìàêñèìàëüíîãî ðàçìåðà áëîêà.</LI>
241   
242         <LI>Êîëè÷åñòâî áèò íà ñýìïë â çàãîëîâêå ôðåéìà äîëæíî îïèñûâàòüñÿ ñëåäóþùèì äèàïàçîíîì áèòîâ 001-110.</LI>
243    
244         <LI>×àñòîòà äèñêðåòèçàöèè â çàãîëîâêå ôðåéìà äîëæíà îïèñûâàòüñÿ ñëåäóþùèì äèàïàçîíîì áèòîâ 0001-1011.</LI>
245     </UL>
246 </BLOCKQUOTE></P>
247
248 <P> òàáëèöå ïðèâåäåíî ôîðìàëüíîå îïèñàíèå ôîðìàòà FLAC. ×èñëà â óãëîâûõ ñêîáêàõ ïîêàçûâàþò êîëè÷åñòâî áèòîâ, èñïîëüçóåìûõ äàííûì ïîëåì.</P>
249
250
251 <P><TABLE WIDTH="100%" BORDER="1">
252
253 <TR>
254     <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="stream"><FONT SIZE="+2"><B><TT>ÏÎÒÎÊ</TT></B></FONT></A></TD>
255 </TR>
256
257 <TR>
258     <TD VALIGN="TOP">&lt;32&gt;</TD>
259     <TD>"fLaC", ìàðêåð ïîòîêà FLAC â êîäèðîâêå ASCII, îçíà÷àþùèé, ÷òî ïåðâûìè ÷åòûðüìÿ áàéòàìè ïîòîêà ÿâëÿþòñÿ 0x66, 0x4C, 0x61, 0x43</TD>
260 </TR>
261
262 <TR>
263     <TD VALIGN="TOP"><A HREF="format.html#metadata_block_streaminfo"><TT>ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ</TT></A></TD>
264     <TD>Îáÿçàòåëüíûé áëîê ìåòàäàííûõ <TT>STREAMINFO</TT>, ñîäåðæàùèé îñíîâíûå ñâîéñòâà ïîòîêà</TD>
265 </TR>
266
267 <TR>
268     <TD VALIGN="TOP"><A HREF="format.html#metadata_block"><TT>ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ</TT></A>*</TD>
269         <TD>Íîëü èëè áîëüøå áëîêîâ ìåòàäàííûõ</TD>
270 </TR>
271
272 <TR>
273         <TD VALIGN="TOP"><A HREF="format.html#frame"><TT>ÔÐÅÉÌ</TT></A>+</TD>
274         <TD>Îäèí èëè áîëüøå àóäèîôðåéìîâ</TD>
275 </TR>
276
277 </TABLE></P>
278
279
280 <P><TABLE WIDTH="100%" BORDER="1">
281
282 <TR>
283         <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="metadata_block"><FONT SIZE="+2"><B><TT>ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ</TT></B></FONT></A></TD>
284 </TR>
285
286 <TR>
287         <TD VALIGN="TOP"><A HREF="format.html#metadata_block_header"><TT>ÇÀÃÎËÎÂÎÊ_ÁËÎÊÀ_ÌÅÒÀÄÀÍÍÛÕ</TT></A></TD>
288         <TD>Çàãîëîâîê, îïðåäåëÿþùèé òèï è ðàçìåð áëîêà ìåòàäàííûõ</TD>
289 </TR>
290
291 <TR>
292         <TD VALIGN="TOP"><A HREF="format.html#metadata_block_data"><TT>ÑÎÄÅÐÆÈÌÎÅ_ÁËÎÊÀ_ÌÅÒÀÄÀÍÍÛÕ</TT></A></TD>
293         <TD>&nbsp;</TD>
294 </TR>
295
296 </TABLE></P>
297
298
299 <P><TABLE WIDTH="100%" BORDER="1">
300
301 <TR>
302         <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="metadata_block_header"><FONT SIZE="+2"><B><TT>ÇÀÃÎËÎÂÎÊ_ÁËÎÊÀ_ÌÅÒÀÄÀÍÍÛÕ</TT></B></FONT></A></TD>
303 </TR>
304
305 <TR>
306         <TD VALIGN="TOP">&lt;1&gt;</TD><TD>Ôëàã ðàâíûé <TT>1</TT>, åñëè äàííûé áëîê ìåòàäàííûõ ÿâëÿåòñÿ ïîñëåäíèì ïåðåä àóäèîáëîêàìè, <TT>0</TT> â ïðîòèâíîì ñëó÷àå</TD>
307 </TR>
308
309 <TR>
310         <TD VALIGN="TOP">&lt;7&gt;</TD>
311         <TD>Òèï áëîêà:
312         <UL>
313                 <LI>0 : <TT>STREAMINFO</TT></LI>
314                 <LI>1 : <TT>PADDING</TT></LI>
315                 <LI>2 : <TT>APPLICATION</TT></LI>
316                 <LI>3 : <TT>SEEKTABLE</TT></LI>
317                 <LI>4-127 : çàðåçåðâèðîâàíû</LI>
318         </UL>
319         </TD>
320 </TR>
321
322 <TR>
323         <TD VALIGN="TOP">&lt;24&gt;</TD>
324         <TD>Äëèíà â áàéòàõ ñîîòâåòñòâóþùåãî áëîêà ìåòàäàííûõ (íå âêëþ÷àåò ðàçìåð <TT>ÇÀÃÎËÎÂÊÀ_ÁËÎÊÀ_ÌÅÒÀÄÀÍÍÛÕ</TT>)</TD>
325 </TR>
326
327 </TABLE></P>
328
329
330 <P><TABLE WIDTH="100%" BORDER="1">
331
332 <TR>
333         <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="metadata_block_data"><FONT SIZE="+2"><B><TT>ÑÎÄÅÐÆÈÌÎÅ_ÁËÎÊÀ_ÌÅÒÀÄÀÍÍÛÕ</TT></B></FONT></A></TD>
334 </TR>
335
336 <TR>
337         <TD VALIGN="TOP"><A HREF="format.html#metadata_block_streaminfo"><TT>ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_STREAMINFO</TT></A> || <A HREF="format.html#metadata_block_padding"><TT>ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_PADDING</TT></A> || <A HREF="format.html#metadata_block_application"><TT>ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_APPLICATION</TT></A> || <A HREF="format.html#metadata_block_seektable"><TT>ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_SEEKTABLE</TT></A></TD>
338         <TD>Ñîäåðæèìîå áëîêà äîëæíî ñîîòâåòñòâîâàòü òèïó áëîêà, óêàçàííîìó â çàãîëîâêå</TD>
339 </TR>
340
341 </TABLE></P>
342
343
344 <P><TABLE WIDTH="100%" BORDER="1">
345
346 <TR>
347         <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="metadata_block_streaminfo"><FONT SIZE="+2"><B><TT>ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_STREAMINFO</TT></B></FONT></A></TD>
348 </TR>
349
350 <TR>
351         <TD VALIGN="TOP">&lt;16&gt;</TD>
352         <TD>Ìèíèìàëüíûé ðàçìåð áëîêà â ñýìïëàõ â äàííîì ïîòîêå.</TD>
353 </TR>
354
355 <TR>
356         <TD VALIGN="TOP">&lt;16&gt;</TD>
357         <TD>Ìàêñèìàëüíûé ðàçìåð áëîêà â ñýìïëàõ â äàííîì ïîòîêå.</TD>
358 </TR>
359
360 <TR>
361         <TD VALIGN="TOP">&lt;24&gt;</TD>
362         <TD>Ìèíèìàëüíûé ðàçìåð ôðåéìà â áàéòàõ â äàííîì ïîòîêå. Åñëè çíà÷åíèå íå èçâåñòíî, òî <TT>0</TT></TD>
363 </TR>
364
365 <TR>
366         <TD VALIGN="TOP">&lt;24&gt;</TD>
367         <TD>Ìàêñèìàëüíûé ðàçìåð ôðåéìà â áàéòàõ â äàííîì ïîòîêå. Åñëè çíà÷åíèå íå èçâåñòíî, òî <TT>0</TT></TD>
368 </TR>
369
370 <TR>
371         <TD VALIGN="TOP">&lt;20&gt;</TD>
372         <TD>×àñòîòà äèñêðåòèçàöèè â Ãö.</TD>
373 </TR>
374
375 <TR>
376         <TD VALIGN="TOP">&lt;3&gt;</TD>
377         <TD><TT>(Êîëè÷åñòâî êàíàëîâ) - 1</TT>. FLAC ïîääåðæèâàåò îò 1 äî 8 êàíàëîâ.</TD>
378 </TR>
379
380 <TR>
381         <TD VALIGN="TOP">&lt;5&gt;</TD>
382         <TD><TT>(Êîëè÷åñòâî áèòîâ íà ñýìïë) - 1</TT>. FLAC ïîääåðæèâàåò îò 1 äî 32 áèòîâ íà ñýìïë. Ñåé÷àñ áàçîâûå äåêîäåð è åíêîäåð ïîääåðæèâàþò äî 24 áèò íà ñýìïë.</TD>
383 </TR>
384
385 <TR>
386         <TD VALIGN="TOP">&lt;36&gt;</TD>
387         <TD>Êîëè÷åñòâî ñýìïëîâ â ïîòîêå. Åñëè çäåñü óêàçàí <TT>0</TT>, òî êîëè÷åñòâî ñýìïëîâ íå èçâåñòíî.</TD>
388 </TR>
389
390 <TR>
391         <TD VALIGN="TOP">&lt;128&gt;</TD>
392         <TD>Ïîäïèñü MD5 íåñæàòûõ àóäèîäàííûõ, êîòîðàÿ ïîçâîëÿåò äåêîäåðó îáíàðóæèòü îøèáêó, äàæå åñëè åå íàëè÷èå íå íàðóøàåò ñòðóêòóðó ïîòîêà.</TD>
393 </TR>
394
395 <TR>
396         <TD VALIGN="TOP">&nbsp;</TD>
397         <TD><B>Ïðèìå÷àíèÿ</B>:
398         <UL>
399                 <LI>Âî FLAC îïðåäåëåí ìèíèìàëüíûé ðàçìåð áëîêà â <TT>16</TT> ñýìïëîâ è ìàêñèìàëüíûé ðàçìåð - <TT>65535</TT>. Ýòî çíà÷èò, ÷òî çíà÷åíèÿ îò <TT>0</TT> äî <TT>15</TT> â ñîîòâåòñòâóþùèõ ïîëÿõ ÿâëÿþòñÿ îøèáî÷íûìè.</LI>
400         </UL>
401         </TD>
402 </TR>
403
404 </TABLE></P>
405
406
407 <P><TABLE WIDTH="100%" BORDER="1">
408
409 <TR>
410         <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="metadata_block_padding"><FONT SIZE="+2"><B><TT>ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_PADDING</TT></B></FONT></A></TD>
411 </TR>
412
413 <TR>
414         <TD VALIGN="TOP">&lt;n&gt;</TD>
415         <TD><TT>n</TT> áèò ñî çíà÷åíèåì <TT>0</TT>. <TT>n</TT> äîëæíî áûòü êðàòíî 8.</TD>
416 </TR>
417
418 </TABLE></P>
419
420
421 <P><TABLE WIDTH="100%" BORDER="1">
422
423 <TR>
424         <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="metadata_block_application"><FONT SIZE="+2"><B><TT>ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_APPLICATION</TT></B></FONT></A></TD>
425 </TR>
426
427 <TR>
428         <TD VALIGN="TOP">&lt;32&gt;</TD>
429         <TD>Çàðåãèñòðèðîâàííûé id ïðèëîæåíèÿ (ñì. ñòðàíèöó <A HREF="id.html">ðåãèñòðàöèè</A>)</TD>
430 </TR>
431
432 <TR>
433         <TD VALIGN="TOP">&lt;n&gt;</TD>
434         <TD>Äàííûå ïðèëîæåíèÿ. <TT>n</TT> äîëæíî áûòü êðàòíî 8.</TD>
435 </TR>
436
437 </TABLE></P>
438
439
440 <P><TABLE WIDTH="100%" BORDER="1">
441
442 <TR>
443         <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="metadata_block_seektable"><FONT SIZE="+2"><B><TT>ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_SEEKTABLE</TT></B></FONT></A></TD>
444 </TR>
445
446 <TR>
447         <TD VALIGN="TOP"><A HREF="format.html#metadata_block_seekpoint"><TT>SEEKPOINT</TT></A>+</TD>
448         <TD>Îäíà èëè áîëüøå òî÷åê ïîèñêà.</TD>
449 </TR>
450
451 <TR>
452         <TD VALIGN="TOP">&nbsp;</TD>
453         <TD><B>Ïðèìå÷àíèÿ</B>:
454         <UL>
455                 <LI>Êîëè÷åñòâî òî÷åê ïîèñêà îïðåäåëÿåòñÿ â ïîëå çàãîëîâêà áëîêà ìåòàäàííûõ &quot;äëèíà&quot; è ðàâíî <TT>äëèíà / 18</TT>.</LI>
456         </UL>
457         </TD>
458 </TR>
459
460 </TABLE></P>
461
462
463 <P><TABLE WIDTH="100%" BORDER="1">
464
465 <TR>
466         <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="metadata_block_seekpoint"><FONT SIZE="+2"><B><TT>ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_SEEKPOINT</TT></B></FONT></A></TD>
467 </TR>
468
469 <TR>
470         <TD VALIGN="TOP">&lt;64&gt;</TD>
471         <TD>Íîìåð ñýìïëà â ïîòîêå ïåðâîãî ñýìïëà öåëåâîãî ôðåéìà èëè 0xFFFFFFFFFFFFFFFF äëÿ çàðåçåðâèðîâàííîé òî÷êè.</TD>
472 </TR>
473
474 <TR>
475         <TD VALIGN="TOP">&lt;64&gt;</TD>
476         <TD>Ñìåùåíèå â áàéòàõ îò ïåðâîãî áàéòà ïåðâîãî çàãîëîâêà ôðåéìà äî ïåðâîãî áàéòà çàãîëîâêà öåëåâîãî ôðåéìà.</TD>
477 </TR>
478
479 <TR>
480         <TD VALIGN="TOP">&lt;16&gt;</TD>
481         <TD>Êîëè÷åñòâî ñýìïëîâ â öåëåâîì ôðåéìå.</TD>
482 </TR>
483
484 <TR>
485         <TD VALIGN="TOP">&nbsp;</TD>
486         <TD><B>Ïðèìå÷àíèÿ</B>:
487         <UL>
488                 <LI>Äëÿ çàðåçåðâèðîâàííûõ òî÷åê çíà÷åíèÿ âòîðîãî è òðåòüåãî ïîëÿ íå îïðåäåëåíû.</LI>
489                 <LI>Òî÷êè ïîèñêà äîëæíû áûòü îòñîðòèðîâàíû â òàáëèöå ïî âîçðàñòàíèþ íîìåðà ñýìïëà.</LI>
490                 <LI>Ïîëÿ, ñîäåðæàùèå íîìåðà ïåðâûõ ñýìïëîâ â öåëåâîì ôðåéìå, äîëæíû áûòü óíèêàëüíû äëÿ âñåõ òî÷åê, çà èñêëþ÷åíèåì çàðåçåðâèðîâàííûõ.</LI>
491                 <LI>Èç äâóõ ïðåäûäóùèõ çàìå÷àíèé ñëåäóåò, ÷òî çàðåçåðâèðîâàííûõ òî÷åê ìîæåò áûòü ëþáîå êîëè÷åñòâî, íî îíè äîëæíû ðàñïîëàãàòüñÿ â êîíöå òàáëèöû.</LI>
492         </UL>
493         </TD>
494 </TR>
495
496 </TABLE></P>
497
498
499 <P><TABLE WIDTH="100%" BORDER="1">
500
501 <TR>
502         <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="frame"><FONT SIZE="+2"><B><TT>ÔÐÅÉÌ</TT></B></FONT></A></TD>
503 </TR>
504
505 <TR>
506         <TD VALIGN="TOP"><A HREF="format.html#frame_header"><TT>ÇÀÃÎËÎÂÎÊ_ÔÐÅÉÌÀ</TT></A></TD>
507         <TD>&nbsp;</TD>
508 </TR>
509
510 <TR>
511         <TD VALIGN="TOP"><A HREF="format.html#subframe"><TT>ÏÎÄÔÐÅÉÌ</TT></A>+</TD>
512         <TD>Îäèí ïîäôðåéì íà êàíàë</TD>
513 </TR>
514
515 <TR>
516         <TD VALIGN="TOP">&lt;?&gt;</TD>
517         <TD>Âûðàâíèâàíèå íóëÿìè íà ãðàíèöó áàéòà</TD>
518 </TR>
519
520 <TR>
521         <TD VALIGN="TOP"><A HREF="format.html#frame_footer"><TT>ÇÀÂÅÐØÅÍÈÅ_ÔÐÅÉÌÀ</TT></A></TD>
522         <TD>&nbsp;</TD>
523 </TR>
524
525 </TABLE></P>
526
527
528 <P><TABLE WIDTH="100%" BORDER="1">
529
530 <TR>
531         <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="frame_header"><FONT SIZE="+2"><B><TT>ÇÀÃÎËÎÂÎÊ_ÔÐÅÉÌÀ</TT></B></FONT></A></TD>
532 </TR>
533
534 <TR>
535         <TD VALIGN="TOP">&lt;14&gt;</TD>
536         <TD>êîä ñèíõðîíèçàöèè <TT>11111111111110</TT></TD>
537 </TR>
538
539 <TR>
540         <TD VALIGN="TOP">&lt;2&gt;</TD>
541         <TD>Çàðåçåðâèðîâàíî:
542         <UL>
543                 <LI>00 : îáÿçàòåëüíîå çíà÷åíèå</LI>
544                 <LI>01-11 : çàðåçåðâèðîâàíî äëÿ ïîñëåäóþùåãî èñïîëüçîâàíèÿ</LI>
545         </UL>
546         </TD>
547 </TR>
548
549 <TR>
550         <TD VALIGN="TOP">&lt;4&gt;</TD>
551         <TD>Ðàçìåð áëîêà â ñýìïëàõ:
552         <UL>
553                 <LI>0000 : ïîëó÷èòü èç áëîêà ìåòàäàííûõ <TT>STREAMINFO</TT></LI>
554                 <LI>0001 : <TT>192</TT> ñýìïëà</LI>
555                 <LI>0010-0101 : <TT>576 * (2^(2-n))</TT> ñýìïëîâ, ò.å. <TT>576/1152/2304/4608</TT></LI>
556                 <LI>0110 : ïîëó÷èòü 8 áèòîâ (ðàçìåð áëîêà-1) èç êîíöà çàãîëîâêà</LI>
557                 <LI>0111 : ïîëó÷èòü 16 áèòîâ (ðàçìåð áëîêà-1) èç êîíöà çàãîëîâêà</LI>
558                 <LI>1000-1111 : <TT>256 * (2^(n-8))</TT> ñýìïëîâ, ò.å. <TT>256/512/1024/2048/4096/8192/16384/32768</TT></LI>
559         </UL>
560         </TD>
561 </TR>
562
563 <TR>
564         <TD VALIGN="TOP">&lt;4&gt;</TD>
565         <TD>×àñòîòà äèñêðåòèçàöèè:
566         <UL>
567                 <LI><TT>0000</TT> : ïîëó÷èòü èç áëîêà ìåòàäàííûõ <TT>STREAMINFO</TT></LI>
568                 <LI><TT>0001-0011</TT> : çàðåçåðâèðîâàíû</LI>
569                 <LI><TT>0100</TT> : 8êÃö</LI>
570                 <LI><TT>0101</TT> : 16êÃö</LI>
571                 <LI><TT>0110</TT> : 22.05êÃö</LI>
572                 <LI><TT>0111</TT> : 24êÃö</LI>
573                 <LI><TT>1000</TT> : 32êÃö</LI>
574                 <LI><TT>1001</TT> : 44.1êÃö</LI>
575                 <LI><TT>1010</TT> : 48êÃö</LI>
576                 <LI><TT>1011</TT> : 96êÃö</LI>
577                 <LI><TT>1100</TT> : ïîëó÷èòü 8-áèòíîå çíà÷åíèå ÷àñòîòû äèñêðåòèçàöèè (â êÃö) èç êîíöà çàãîëîâêà</LI>
578                 <LI><TT>1101</TT> : ïîëó÷èòü 16-áèòíîå çíà÷åíèå ÷àñòîòû äèñêðåòèçàöèè (â Ãö) èç êîíöà çàãîëîâêà</LI>
579                 <LI><TT>1110</TT> : ïîëó÷èòü 16-áèòíîå çíà÷åíèå ÷àñòîòû äèñêðåòèçàöèè (â äÃö) èç êîíöà çàãîëîâêà</LI>
580                 <LI><TT>1111</TT> : îøèáî÷íîå çíà÷åíèå, ÷òîáû íå äîïóñòèòü ñîâïàäåíèå ñ êîäîì ñèíõðîíèçàöèè</LI>
581         </UL>
582         </TD>
583 </TR>
584
585 <TR>
586         <TD VALIGN="TOP">&lt;4&gt;</TD>
587         <TD>Ðàñïîëîæåíèå êàíàëîâ:
588         <UL>
589                 <LI><TT>0000-0111</TT> : <TT>(êîëè÷åñòâî íåçàâèñèìûõ êàíàëîâ)-1</TT>. Êîãäà == <TT>0001</TT>, êàíàë <TT>0</TT> ÿâëÿåòñÿ ëåâûì, <TT>1</TT> - ïðàâûì</LI>
590                 <LI><TT>1000</TT> : ëåâîñòîðîííåå ñòåðåî: êàíàë <TT>0</TT> ÿâëÿåòñÿ ëåâûì, <TT>1</TT> - ðàçíîñòíûì</LI>
591                 <LI><TT>1001</TT> : ïðàâîñòîðîííåå ñòåðåî: êàíàë <TT>0</TT> ÿâëÿåòñÿ ðàçíîñòíûì, <TT>1</TT> - ïðàâûì</LI>
592                 <LI><TT>1010</TT> : óñðåäíåííîå ñòåðåî: êàíàë <TT>0</TT> ÿâëÿåòñÿ óñðåäíåííûì, <TT>1</TT> - ðàçíîñòíûì
593                 <LI><TT>1011-1111</TT> : çàðåçåðâèðîâàíû</LI>
594         </UL>
595         </TD>
596 </TR>
597
598 <TR>
599         <TD VALIGN="TOP">&lt;3&gt;</TD>
600         <TD>Êîëè÷åñòâî áèòîâ íà ñýìïë:
601         <UL>
602                 <LI><TT>000</TT> : ïîëó÷èòü èç áëîêà ìåòàäàííûõ <TT>STREAMINFO</TT></LI>
603                 <LI><TT>001</TT> : 8 áèò íà ñýìïë</LI>
604                 <LI><TT>010</TT> : 12 áèò íà ñýìïë</LI>
605                 <LI><TT>011</TT> : çàðåçåðâèðîâàíî</LI>
606                 <LI><TT>100</TT> : 16 áèò íà ñýìïë</LI>
607                 <LI><TT>101</TT> : 20 áèò íà ñýìïë</LI>
608                 <LI><TT>110</TT> : 24 áèò íà ñýìïë</LI>
609                 <LI><TT>111</TT> : çàðåçåðâèðîâàíî</LI>
610         </UL>
611         </TD>
612 </TR>
613
614 <TR>
615         <TD VALIGN="TOP">&lt;1&gt;</TD>
616         <TD>Äîïîëíåíèå íóëåì äî ãðàíèöû áèòà, ÷òîáû íå äîïóñòèòü îøèáêó ñèíõðîíèçàöèè</TD>
617 </TR>
618
619 <TR>
620         <TD VALIGN="TOP">&lt;?&gt;</TD>
621         <TD>Åñëè <TT>(ïåðåìåííûé ðàçìåð áëîêà)</TT><BR>
622                 &nbsp;&nbsp;&nbsp;<8-56> : íîìåð ñýìïëà â ôîðìàòå UTF-8 (ðàçìåð äåêîäèðóåìîãî ÷èñëà 36 áèò)<BR>
623                 èíà÷å<BR>
624                 &nbsp;&nbsp;&nbsp;<8-48> : íîìåð ôðåéìà â ôîðìàòå UTF-8 (ðàçìåð äåêîäèðóåìîãî ÷èñëà 31 áèò)</TD>
625 </TR>
626
627 <TR>
628         <TD VALIGN="TOP">&lt;?&gt;</TD>
629         <TD>Åñëè <TT>(áèòîâàÿ ìàñêà ðàçìåðà áëîêà == 11x)</TT><BR>
630                 &nbsp;&nbsp;&nbsp;8/16 áèò <TT>(ðàçìåð áëîêà - 1)</TT></TD>
631 </TR>
632
633 <TR>
634         <TD VALIGN="TOP">&lt;?&gt;</TD>
635         <TD>Åñëè <TT>(áèòîâàÿ ìàñêà ÷àñòîòû äèñêðåòèçàöèè == 11xx)</TT><BR>
636                 &nbsp;&nbsp;&nbsp;÷àñòîòà äèñêðåòèçàöèè 8/16 áèò</TD>
637 </TR>
638
639 <TR>
640         <TD VALIGN="TOP">&lt;8&gt;</TD>
641         <TD>8-áèòíàÿ ïîëèíîìàëüíàÿ êîíòðîëüíàÿ ñóììà <TT>(x^8 + x^2 + x^1 + x^0)</TT> äàííûõ çàãîëîâêà, âêëþ÷àÿ êîä ñèíõðîíèçàöèè (<TT>x</TT> èíèöèàëèçèðóåòñÿ íóëåì).</TD>
642 </TR>
643
644 <TR>
645         <TD VALIGN="TOP">&nbsp;</TD>
646         <TD><B>Ïðèìå÷àíèÿ</B>:
647         <UL>
648                 <LI>Áèòû ðàçìåðà áëîêà <TT>0000-0101</TT> ìîãóò áûòü èñïîëüçîâàíû òîëüêî ïðè ïîñòîÿííîì èõ çíà÷åíèè âî âñåì áëîêå. Áèòû <TT>0110-0111</TT> ìîãóò èñïîëüçîâàòüñÿ â ëþáîì ñëó÷àå, äåêîäåð áóäåò ñ÷èòàòü, ÷òî ïîòîê èìååò ïåðåìåííóþ äëèíó áëîêà. Ñóùåñòâóåò îäíî èñêëþ÷åíèå: åíêîäåð ìîæåò èñïîëüçîâàòü áèòû <TT>0110-0111</TT> â ïîñëåäíåì ôðåéìå ïîòîêà ñ ïîñòîÿííûì ðàçìåðîì áëîêà â òîì ñëó÷àå, åñëè åãî äëèíà íå áîëüøå, ÷åì èñïîëüçóåìàÿ â âñåì ïîòîêå.</LI>
649         </UL>
650         </TD>
651 </TR>
652
653 </TABLE></P>
654
655
656 <P><TABLE WIDTH="100%" BORDER="1">
657
658 <TR>
659         <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="frame_footer"><FONT SIZE="+2"><B><TT>ÇÀÂÅÐØÅÍÈÅ_ÔÐÅÉÌÀ</TT></B></FONT></A></TD>
660 </TR>
661
662 <TR>
663         <TD VALIGN="TOP">&lt;16&gt;</TD>
664         <TD>16-áèòíàÿ ïîëèíîìàëüíàÿ êîíòðîëüíàÿ ñóììà <TT>(x^16 + x^15 + x^2 + x^0)</TT> âñåãî ôðåéìà (<TT>x</TT> èíèöèàëèçèðóåòñÿ íóëåì).</TD>
665 </TR>
666
667 </TABLE></P>
668
669
670 <P><TABLE WIDTH="100%" BORDER="1">
671
672 <TR>
673         <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="subframe"><FONT SIZE="+2"><B><TT>ÏÎÄÔÐÅÉÌ</TT></B></FONT></A></TD>
674 </TR>
675
676 <TR>
677         <TD VALIGN="TOP"><A HREF="format.html#subframe_header"><TT>ÇÀÃÎËÎÂÎÊ_ÏÎÄÔÐÅÉÌÀ</TT></A></TD>
678         <TD>&nbsp;</TD>
679 </TR>
680
681 <TR>
682         <TD VALIGN="TOP"><A HREF="format.html#subframe_constant"><TT>ÏÎÄÔÐÅÉÌ_CONSTANT</TT></A> || <A HREF="format.html#subframe_fixed"><TT>ÏÎÄÔÐÅÉÌ_FIXED</TT></A> ||<BR><A HREF="format.html#subframe_lpc"><TT>ÏÎÄÔÐÅÉÌ_LPC</TT></A> || <A HREF="format.html#subframe_verbatim"><TT>ÏÎÄÔÐÅÉÌ_VERBATIM</TT></A></TD>
683         <TD>Òèï ïîäôðåéìà, îïðåäåëÿåìûé â çàãîëîâêå</TD>
684 </TR>
685
686 </TABLE></P>
687
688
689 <P><TABLE WIDTH="100%" BORDER="1">
690
691 <TR>
692         <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="subframe_header"><FONT SIZE="+2"><B><TT>ÇÀÃÎËÎÂÎÊ_ÏÎÄÔÐÅÉÌÀ</TT></B></FONT></A></TD>
693 </TR>
694
695 <TR>
696         <TD VALIGN="TOP">&lt;1&gt;</TD>
697         <TD>Áèò ðàâíûé <TT>0</TT>, ÷òîáû ïðåäîòâðàòèòü îøèáêó ñèíõðîíèçàöèè.</TD>
698 </TR>
699
700 <TR>
701         <TD VALIGN="TOP">&lt;6&gt;</TD>
702         <TD>Òèï ïîäôðåéìà:
703         <UL>
704                 <LI><TT>000000</TT> : <A HREF="format.html#subframe_constant"><TT>ÏÎÄÔÐÅÉÌ_CONSTANT</TT></A></LI>
705                 <LI><TT>000001</TT> : <A HREF="format.html#subframe_verbatim"><TT>ÏÎÄÔÐÅÉÌ_VERBATIM</TT></A></LI>
706                 <LI><TT>00001x</TT> : çàðåçåðâèðîâàíî</LI>
707                 <LI><TT>0001xx</TT> : çàðåçåðâèðîâàíî</LI>
708                 <LI><TT>001xxx</TT> : Åñëè (<TT>xxx</TT> <= 4) <A HREF="format.html#subframe_fixed"><TT>ÏÎÄÔÐÅÉÌ_FIXED</TT></A>, <TT>xxx</TT> = ïîðÿäîê; èíà÷å çàðåçåðâèðîâàíî</LI>
709                 <LI><TT>01xxxx</TT> : çàðåçåðâèðîâàíî</LI>
710                 <LI><TT>1xxxxx</TT> : <A HREF="format.html#subframe_lpc"><TT>ÏÎÄÔÐÅÉÌ_LPC</TT></A>, <TT>xxxxx = ïîðÿäîê-1</TT></LI>
711         </UL>
712         </TD>
713 </TR>
714
715 <TR>
716         <TD VALIGN="TOP">&lt;1+k&gt;</TD>
717         <TD>Ôëàã 'íåèñïîëüçóåìûå áèòû íà ñýìïë':
718         <UL>
719                 <LI>0 : â èñõîäíîì ïîäáëîêå íåò 'íåèñïîëüçóåìûõ áèòîâ', <TT>k=0</TT></LI>
720                 <LI>1 : <TT>k</TT> 'íåèñïîëüçóåìûõ áèòîâ' â èñõîäíîì ïîäáëîêå, ÷èñëî çàïèñûâàåòñÿ â óíàðíîì ôîðìàòå; ò.å. äëÿ <TT>k=3</TT> ïîñëåäîâàòåëüíîñòü áèòîâ áóäåò âûãëÿäåòü òàê <TT>001</TT>, äëÿ <TT>k=7</TT> - <TT>0000001</TT>.</LI>
721         </UL>
722         </TD>
723 </TR>
724
725 <TR>
726         <TD VALIGN="TOP">&nbsp;</TD>
727         <TD><B>Ïðèìå÷àíèÿ</B>:
728         <UL>
729                 <LI>'Íåèñïîëüçóåìûå áèòû' âñòðå÷àþòñÿ â áëîêå äàííûõ, åñëè ïðè çàÿâëåííûõ <TT>n</TT> áèòàõ çíà÷èìûìè ÿâëÿþòñÿ òîëüêî <TT>m</TT>. ×èñëî <TT>k = n - m</TT> è áóäåò îïðåäåëÿòü êîëè÷åñòâî 'íåèñïîëüçóåìûõ áèòîâ'. Íàïðèìåð, åñëè âñå 16-áèòíûå ñýìïëû â èñõîäíîì ïîäáëîêå âûãëÿäÿò êàê 'xxxxxxxxxxxxx000', òî åíêîäåð êîäèðóåò òîëüêî 13 áèò, è çàïîìèíàåò, ÷òî 3 áèòà ÿâëÿþòñÿ 'íåèñïîëüçóåìûìè'.</LI>
730         </UL>
731         </TD>
732 </TR>
733
734 </TABLE></P>
735
736
737 <P><TABLE WIDTH="100%" BORDER="1">
738
739 <TR><TD COLSPAN="2" BGCOLOR="#E0E0E0">
740 <A NAME="subframe_constant"><FONT SIZE="+2"><B><TT>
741 ÏÎÄÔÐÅÉÌ_CONSTANT</TT></B></FONT></A></TD></TR>
742
743 <TR><TD VALIGN="TOP">
744 &lt;n&gt;</TD>
745 <TD>Íåñæàòîå ïîñòîÿííîå çíà÷åíèå ïîäáëîêà, <TT>n</TT> ðàâíî êîëè÷åñòâó áèòîâ íà ñýìïë âî ôðåéìå</TD><TR>
746 </TABLE></P>
747
748
749 <P><TABLE WIDTH="100%" BORDER="1">
750
751 <TR>
752         <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="subframe_fixed"><FONT SIZE="+2"><B><TT>ÏÎÄÔÐÅÉÌ_FIXED</TT></B></FONT></A></TD>
753 </TR>
754
755 <TR>
756         <TD VALIGN="TOP">&lt;n&gt;</TD>
757         <TD>Íåêîäèðóåìûå íà÷àëüíûå ñýìïëû (<TT>n</TT> ðàâíî êîëè÷åñòâó áèòîâ íà ñýìïë âî ôðåéìå, óìíîæåííîìó íà ïîðÿäîê ïðåäèêòîðà).</TD>
758 </TR>
759
760 <TR>
761         <TD VALIGN="TOP"><A HREF="format.html#residual"><TT>ÎÑÒÀÒÎÊ</TT></A></TD>
762         <TD>Çàêîäèðîâàííûé îñòàòîê</TD>
763 </TR>
764
765 </TABLE></P>
766
767
768 <P><TABLE WIDTH="100%" BORDER="1">
769
770 <TR>
771         <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="subframe_lpc"><FONT SIZE="+2"><B><TT>ÏÎÄÔÐÅÉÌ_LPC</TT></B></FONT></A></TD>
772 </TR>
773
774 <TR>
775         <TD VALIGN="TOP">&lt;n&gt;</TD>
776         <TD>Íåêîäèðóåìûå íà÷àëüíûå ñýìïëû (<TT>n</TT> ðàâíî êîëè÷åñòâó áèòîâ íà ñýìïë âî ôðåéìå, óìíîæåííîìó íà ïîðÿäîê ïðåäèêòîðà).</TD>
777 </TR>
778
779 <TR>
780         <TD VALIGN="TOP">&lt;4&gt;</TD>
781         <TD><TT>(òî÷íîñòü äèñêðåòíîãî êîýôôèöèåòà ëèíåéíîãî ïðîãíîçèðîâàíèÿ (QLP)) - 1</TT>. Çíà÷åíèå <TT>1111</TT> íåäîïóñòèìî.</TD>
782 </TR>
783
784 <TR>
785         <TD VALIGN="TOP">&lt;5&gt;</TD>
786         <TD>Íåîáõîäèìûé ñäâèã äèñêðåòíîãî êîýôôèöèåòà ëèíåéíîãî ïðîãíîçèðîâàíèÿ â áèòàõ. (<B>Ïðèìå÷àíèå</B>: ýòî ÷èñëî - çíàêîâîå äîïîëíåíèå äî äâóõ).</TD>
787 </TR>
788
789 <TR>
790         <TD VALIGN="TOP">&lt;n&gt;</TD>
791         <TD>Íåñæàòûå êîýôôèöèåíòû ïðîãíîçèðîâàíèÿ <TT>(n = òî÷íîñòü QLP * ïîðÿäîê LPC)</TT> (<B>Ïðèìå÷àíèå</B>: ýòè ÷èñëà ÿâëÿþòñÿ çíàêîâûìè äîïîëíåíèÿìè äî äâóõ).</TD>
792 </TR>
793
794 <TR>
795         <TD VALIGN="TOP"><A HREF="format.html#residual"><TT>ÎÑÒÀÒÎÊ</TT></A></TD>
796         <TD>Çàêîäèðîâàííûé îñòàòîê</TD>
797 </TR>
798
799 </TABLE></P>
800
801
802 <P><TABLE WIDTH="100%" BORDER="1">
803
804 <TR>
805         <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="subframe_verbatim"><FONT SIZE="+2"><B><TT>ÏÎÄÔÐÅÉÌ_VERBATIM</TT></B></FONT></A></TD>
806 </TR>
807
808 <TR>
809         <TD VALIGN="TOP">&lt;n*i&gt;</TD>
810         <TD>Íåñæàòûé ïîäáëîê, <TT>n</TT> ðàâíî êîëè÷åñòâó áèòîâ íà ñýìïë âî ôðåéìå, <TT>i</TT> - ðàçìåðó áëîêà</TD>
811 </TR>
812
813 </TABLE></P>
814
815
816 <P><TABLE WIDTH="100%" BORDER="1">
817
818 <TR>
819         <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="residual"><FONT SIZE="+2"><B><TT>ÎÑÒÀÒÎÊ</TT></B></FONT></A></TD>
820 </TR>
821
822 <TR>
823         <TD VALIGN="TOP">&lt;2&gt;</TD>
824         <TD>Ìåòîä êîäèðîâàíèÿ îñòàòêîâ:
825         <UL>
826                 <LI><TT>00</TT> : êîäèðîâàíèå Ðàéñà</LI>
827                 <LI><TT>01-11</TT> : çàðåçåðâèðîâàíî</LI>
828         </UL>
829         </TD>
830 </TR>
831
832 <TR>
833         <TD VALIGN="TOP"><A HREF="format.html#partitioned_rice"><TT>ÎÑÒÀÒÊÈ_ÑÆÀÒÛÅ_ÌÅÒÎÄÎÌ_ÐÀÉÑÀ</TT></A></TD>
834         <TD>&nbsp;</TD>
835 </TR>
836
837 <TR>
838         <TD VALIGN="TOP">&nbsp;</TD>
839         <TD><B>Ïðèìå÷àíèÿ:</B>
840         <UL>
841                 <LI>Ñåé÷àñ FLAC èñïîëüçóåò òîëüêî îäèí ìåòîä êîäèðîâàíèÿ îñòàòêîâ</LI>
842         </UL>
843         </TD>
844 </TR>
845
846 </TABLE></P>
847
848
849 <P><TABLE WIDTH="100%" BORDER="1">
850
851 <TR>
852         <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="partitioned_rice"><FONT SIZE="+2"><B><TT>ÎÑÒÀÒÊÈ_ÑÆÀÒÛÅ_ÌÅÒÎÄÎÌ_ÐÀÉÑÀ</TT></B></FONT></A></TD>
853 </TR>
854
855 <TR>
856         <TD VALIGN="TOP">&lt;4&gt;</TD>
857         <TD>Ïîðÿäîê ðàçäåëà</TD>
858 </TR>
859
860 <TR>
861         <TD VALIGN="TOP"><A HREF="format.html#rice_partition"><TT>ÐÀÇÄÅË_ÐÀÉÑÀ</TT></A>+</TD>
862         <TD>Äàëåå ñëåäóþò 2^ïîðÿäîê ðàçäåëîâ</TD>
863 </TR>
864
865 </TABLE></P>
866
867
868 <P><TABLE WIDTH="100%" BORDER="1">
869
870 <TR>
871         <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="rice_partition"><FONT SIZE="+2"><B><TT>ÐÀÇÄÅË_ÐÀÉÑÀ</TT></B></FONT></A></TD>
872 </TR>
873
874 <TR>
875         <TD VALIGN="TOP">&lt;4(+5)&gt;</TD>
876         <TD>Ïàðàìåòð êîäèðîâàíèÿ:
877         <UL>
878                 <LI><TT>0000-1110</TT> : Ïàðàìåòð Ðàéñà.</LI>
879                 <LI><TT>1111</TT> : Êîä, îçíà÷àþùèé, ÷òî ðàçäåë ÿâëÿåòñÿ íåñæàòûì è â íåì èñïîëüçóþòñÿ <TT>n</TT> áèòîâ íà ñýìïë. <TT>n</TT> ïðåäñòàâëåíî 5-áèòíûì ÷èñëîì.
880         </UL>
881         </TD>
882 </TR>
883
884 <TR>
885         <TD VALIGN="TOP">&lt;?&gt;</TD>
886         <TD>Çàêîäèðîâàííûé îñòàòîê. Êîëè÷åñòâî ñýìïëîâ <TT>n</TT> â ðàçäåëå îïðåäåëÿåòñÿ ñëåäóþùèì îáðàçîì:
887         <UL>
888                 <LI>Åñëè ïîðÿäîê ðàçäåëà ðàâåí <TT>0</TT>, <TT>n</TT> ðàâíî ðàçìåðó áëîêà äëÿ ôðåéìà.</LI>
889                 <LI>èíà÷å åñëè ýòî íå ïåðâûé ðàçäåë ïîäôðåéìà, <TT>n = (ðàçìåð áëîêà äëÿ ôðåéìà / (2^ïîðÿäîê ðàçäåëà))</TT></LI>
890                 <LI>èíà÷å <TT>n = (ðàçìåð áëîêà äëÿ ôðåéìà / (2^ïîðÿäîê ðàçäåëà)) - ïîðÿäîê ïðåäèêòîðà</TT></LI>
891         </UL>
892         </TD>
893 </TR>
894
895 </TABLE></P>
896
897
898 <P>&nbsp;Copyright (c) 2001 Josh Coalson</P>
899
900 </BODY>
901 </HTML>