Update of /cvsroot/dirac/compress/doc/latex_spec
In directory sc8-pr-cvs12.sourceforge.net:/tmp/cvs-serv5165
Modified Files:
abstract.tex intro.tex layout-fullsize.tex profilelevel.tex
Log Message:
Moved version to 2.0. 1.0=Dirac Pro=Intra only. Removed
stuff on levels
and profiles: now there are just values for
"undefined".
Index: layout-fullsize.tex
============================================================
=======
RCS file:
/cvsroot/dirac/compress/doc/latex_spec/layout-fullsize.tex,v
retrieving revision 1.29
retrieving revision 1.30
diff -C2 -d -r1.29 -r1.30
*** layout-fullsize.tex 9 Jan 2008 15:42:02 -0000 1.29
--- layout-fullsize.tex 21 Jan 2008 13:32:05 -0000 1.30
***************
*** 90,104 ****
begin
! newcommand{text{1.0.0_pre12}}
begin
! vspace* hspace*
! {Huge Dirac Specification}
! hspace*\
- hspace*
- {huge Version SpecVersion}
- hspace*\
- vspace*
clearpage { thispagestyle
--- 90,105 ----
begin
! newcommand{text{2.0.0}}
!
! title{
! {Huge Dirac Specification\}
! {huge Version SpecVersion \}
! {huge Issued: today} }
! author{}
! date{}
begin
! maketitle
clearpage { thispagestyle
Index: intro.tex
============================================================
=======
RCS file:
/cvsroot/dirac/compress/doc/latex_spec/intro.tex,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** intro.tex 9 May 2007 14:35:54 -0000 1.3
--- intro.tex 21 Jan 2008 13:32:05 -0000 1.4
***************
*** 1,7 ****
- input
-
subsection
label
! Dirac was developed to address the growing complexity and
cost of current video
compression technologies, which provide greater
compression efficiency
at the expense of implementing a very large number of
tools. Dirac is
--- 1,6 ----
subsection
label
! Dirac is an open video codec developed by the BBC. Itwas
developed to address
! the growing complexity and cost of current video
compression technologies, which provide greater
compression efficiency
at the expense of implementing a very large number of
tools. Dirac is
***************
*** 20,46 ****
label
! This document specifies normative decoder operations and
! stream syntax. The stream syntax is primarily specified by
means of
! pseudocode, the conventions of which are described in
Section ref.
! The decoder operations are specified by means of a mixture
of pseudocode
! and conventional mathematical symbolism.
!
! A number of other elements are also included for
informative purposes.
! The specification is not an implementation guide, and in
the interests
! of clarity many of the operations are specified in a way
that would not be
! efficient to implement. However, we have attempted
! to indicate where this is so, and to suggest ways in which
an efficient implementation
! may be achieved, but these are by no means exhaustive. An
optimised Open Source
! software Dirac encoder and decoder system, named
Schr"odinger, is available at
! underline{http://so
urceforge.net/projects/schrodinger}, and may be studied
to aid implementation.
!
! In addition, we are well aware that many users of this
document may wish
! to make both encoders and decoders. There are many sources
of information
! on how to design efficient compression algorithms, for
example for entropy coding,
! motion estimation, frame-dropping, rate control, motion
estimation and
! rate-distortion optimisation. This document does not
attempt to address these
! issues in detail, but to provide supplementary information
where appropriate
! to allow those reasonably `skilled in the art' to develop
a Dirac encoder
! rapidly and accurately, and approach design compromises
knowledgably.
subsection
--- 19,31 ----
label
! This standard defines the Dirac video compression codec
through the stream syntax,
! entropy coding, coefficient unpacking and picture
decoding processes. The decoder
! operations are defined by means of a mixture of
pseudocode and mathematical
! operations.
!
! Dirac is a long-GOP video codec that uses wavelet
transforms and motion compensation
! together with entropy coding, that can be readily
implemented in hardware or software.
! Dirac is a superset of the proposed SMPTE VC-2 video codec
standard which
! comprises the intra coding parts of this specification.
subsection
***************
*** 48,115 ****
This is version $SpecVersion$ of the Dirac specification.
The document includes
! a full description of the core Dirac stream syntax and
decoder operations, together
! with compatible extensions to support low-delay operation.
It does
! not yet contain a full specification of profiles and
levels supported by Dirac.
!
! subsection{Document structure}
! label
! This document specifies the Dirac decoder and stream
structure in terms of
! a layered model:
! begin
! item Stream data access
! item Parsing and interpretation of the Dirac stream
metadata
! item Unpacking of Dirac data -- coefficients and
motion data
! item Picture decoding operations
! end
! Stream data access consists of the operations used to
extract data values
! (of boolean and integer type) from a raw Dirac bitstream.
These include
! data that has been encoded `literally' (i.e. according to
conventional bit-wise
! representations), variable-length codes, and data entropy
coded using arithmetic
! encoding. Stream data access methods are used both by
parsing and unpacking operations.
! Parsing and interpretation defines the structure of Dirac
streams, including
! random access points and navigation.
! Unpacking comprises parsing transform and motion data, and
performing
! inverse quantisation to reconstruct wavelet coefficients,
and defines
! intermediate decoder data structures in which extracted
data is stored. This
! step may be seen either as a stream parsing operation or
as a decoding
! operation, but it is separated here for clarity, and also
because it
! deals with intermediate data structures (transform
coefficients and motion vectors),
! neither directly present in the bitstream nor output by
the decoder.
! Picture decoding operations produce decoded pictures from
these populated
! data structures by applying specified functions to them.
These operations
! are logically distinct from those for navigating the
stream, reading the stream data
! or reconstructing coefficients.
! Note in particular that the distinction between parsing
and picture decoding is
! {em not} exactly that between syntax and semantics:
complex semantics are
! required for correct parsing of the stream as well as for
decoding pictures.
! It is perhaps unusual in a specification to separate these
layers quite so distinctly,
! and our purpose in doing so is to provide much greater
clarity. For implementors,
! we hope that the decoupling of the stream structure from
the (computationally intensive)
! picture decoding processes will avoid imposing
! implicit design decisions merely through the style of the
specification. Many
! other users of the specification will not be interested in
the precise format
! of stream elements but in how the underlying algorithm
works - or vice-versa.
! It should be possible to construct a Dirac parsing engine,
for example for
! frame skipping in video playback applications, extremely
simply and without
! requiring comprehension of the entire specification.
! begin
! This layered structure is reflected in the structure of
the specification,
! which, after defining conventions used, is divided into
three
! corresponding parts: stream data access, defining
functions for data types;
! accessing and parsing the Dirac bitstream and populating
data
! structures (including the wavelet coefficients and motion
data); and
! high-level decoder operations and picture output,
specifically the
! inverse wavelet transform and motion compensation.
- In addition to these parts, appendices deal with standard
settings, parameter
- presets and levels and profiles.
- end
No newline at end of file
--- 33,76 ----
This is version $SpecVersion$ of the Dirac specification.
The document includes
! a full description of the Dirac stream syntax and decoder
operations.
! This version is compatible with and extends Version 1.0 by
the addition of motion
! compensated coding. Version 1.0 corresponds exactly to
the proposed SMPTE VC-2
! video codec standard.
! Subsequent versions of this specification may contain
additional tools.
! subsection{Conformance notation}
! Normative text is text that describes elements of the
design that are indispensable or
! contains the conformance language keywords:
"shall", "should", or "may".
Informative
! text is text that is potentially helpful to the user, but
not indispensable, and can be
! removed, changed, or added editorially without affecting
interoperability. Informative
! text does not contain any conformance keywords.
! All text in this document is, by default, normative,
except: the Introduction, any section
! explicitly labeled as "Informative" or
individual paragraphs that start with "Note:”
! The keywords "shall" and "shall not"
indicate requirements strictly to be followed in order
! to conform to the document and from which no deviation is
permitted
! The keywords, "should" and "should
not" indicate that, among several possibilities, one
! is recommended as particularly suitable, without
mentioning or excluding others; or that a
! certain course of action is preferred but not necessarily
required; or that (in the negative
! form) a certain possibility or course of action is
deprecated but not prohibited.
! The keywords "may" and "need not"
indicate courses of action permissible within the
! limits of the document.
! The keyword “reserved” indicates a provision that is not
defined at this time, shall not
! be used, and may be defined in the future. The keyword
“forbidden” indicates “reserved”
! and in addition indicates that the provision will never
be defined in the future.
! A conformant implementation according to this document is
one that includes all
! mandatory provisions ("shall") and, if
implemented, all recommended provisions ("should")
! as described. A conformant implementation need not
implement optional provisions
! ("may") and need not implement them as
described.
! Unless otherwise specified the order of precedence of the
types of normative
! information in this document shall be as follows.
Normative prose shall be the authoritative
! definition. Tables shall be next, followed by formal
languages, then figures, and then any
! other language forms.
Index: profilelevel.tex
============================================================
=======
RCS file:
/cvsroot/dirac/compress/doc/latex_spec/profilelevel.tex,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** profilelevel.tex 10 Dec 2007 09:24:13 -0000 1.6
--- profilelevel.tex 21 Jan 2008 13:32:05 -0000 1.7
***************
*** 1,21 ****
label
! A compliant Dirac decoder may support a number of
different profiles and levels, which determine
! which tools, syntax elements and structures are to be
supported, and what decoder resources
! (computational and memory) are required. Profiles deal
largely with the former and levels
! with the latter, although in particular in a software
implementation, the choice of supported tools
! also affects decoder resources. Level constraints are
expressed in terms of picture sizes and
! formats
! A particular profile will require that particular
syntax/syntax elements be used and that decoder
! variables or functions are set to particular values.
Currently only two profiles are defined, Main and Low-Delay.
Low-delay profile corresponds to a decoder capable of
decoding the low-delay syntax only.
! Main profile corresponds to a decoder capable of decoding
the both the core syntax and low-delay syntax.
! Levels determine the size of the
! decoded picture buffer $DecodedBuffer$ and the stream
buffer for data entering the decoder. Levels
! apply differently in Low-Delay and Main profile, as
buffering requirements are quite different (and much
! less demanding) for Low-Delay operation.
! The operation of these buffers is described in Sections
ref and ref.
subsection{Decoded picture buffer model operation}
label
--- 1,57 ----
label
! A profile determines which tools, syntax elements and
parameter values (such as wavelet
! filters or wavelet depths) are to be
! supported. A level determines what decoder resources
(computational and memory)
! are required.
! A particular profile may require that particular syntax
elements be used and that decoder
! variables or functions be set to particular values.
! A decoder may advertise compliance with a given profile or
set of profiles.
! Such a decoder shall support decoding of all syntax
elements supported by the profile(s),
! and all parameter settings defined by the profile(s).
!
! A decoder may advertise compliance with a given level or
levels. Such a decoder shall
! perform real-time decoding of Dirac sequences satisfying
the level constraints.
!
! An `Undefined' profile and an `Undefined' level are
defined also, as defined in annexes
! ref and ref. These shall have
corresponding value 0 encoded in the stream.
+ begin
+ Software decoder implementations cannot in general
guarantee real-time performance,
+ and hence are unlikely to be able to advertise level
compliance.
+ end
+
+ subsection
+ label
+
+ A sequence compliant with a given profile $n$ shall set
$Profile$ equal to $n$.
+
+ The following profiles shall be defined:
+ begin
+ item[0 -- Undefined] An Undefined profile sequence may
contain any valid combination
+ of syntax elements or parameter values defined in this
specification. Decoding an
+ undefined profile sequence may require any decoding
function defined in this
+ specification.
+ end
+
+ Subsequent editions of this specification may define
further profiles.
+
+ subsection
+ label
+
+ A sequence compliant with a given level $n$ shall set
$Level$ equal to $n$.
+
+ The following levels shall be defined:
+ begin
+ item[0 -- Undefined] An Undefined level sequence shall
impose no constraints on
+ any feature of the sequence. A compliant decoder shall not
be required to decode level 0
+ streams in real time.
+ end
+
+ Subsequent editions of this specification may define
further levels.
+
+ begin
subsection{Decoded picture buffer model operation}
label
***************
*** 157,164 ****
[TBC]
!
! subsection{Supported profiles}
!
!
! subsection{Supported levels}
! [TBC]
--- 193,195 ----
[TBC]
! end
Index: abstract.tex
============================================================
=======
RCS file:
/cvsroot/dirac/compress/doc/latex_spec/abstract.tex,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** abstract.tex 8 Jan 2008 14:50:37 -0000 1.4
--- abstract.tex 21 Jan 2008 13:32:05 -0000 1.5
***************
*** 12,20 ****
The system offers several key features:
begin
! item lossy and lossless coding using a common tool set
! item low-complexity and low-delay modes for hi bit
rate professional
! production applications
! item motion-compensated (`long-GOP') modes for
distribution applications
! item gradual quality loss with increasing compression
end
--- 12,21 ----
The system offers several key features:
begin
! item lossy and lossless coding using a common tool set
! item intra-coded modes for professional production
applications
! item a special low delay mode for link adaption
applications, such as the carriage of HDTV
! over SDTV infrastructure
! item motion-compensated (`long-GOP') modes for
distribution applications
! item gradual quality reduction with increasing
compression
end
------------------------------------------------------------
-------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
a>
_______________________________________________
Dirac-commits mailing list
Dirac-commits lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dirac-com
mits
|