[Sumover-dev] [svn commit] r4198 - vic/branches/cc/docs/plan

sumover-dev at cs.ucl.ac.uk sumover-dev at cs.ucl.ac.uk
Mon Jun 30 14:48:27 BST 2008


Author: soohyunc
Date: Mon Jun 30 14:48:24 2008
New Revision: 4198

Modified:
   vic/branches/cc/docs/plan/2-overview.tex
   vic/branches/cc/docs/plan/report.tex

Log:
adding words (high-level vic overview)


Modified: vic/branches/cc/docs/plan/2-overview.tex
==============================================================================
--- vic/branches/cc/docs/plan/2-overview.tex	(original)
+++ vic/branches/cc/docs/plan/2-overview.tex	Mon Jun 30 14:48:24 2008
@@ -12,7 +12,7 @@
 \begin{figure}[!h]
 \begin{center}
 \includegraphics[scale=.5]{./img/high-vic-arch}
-\caption{\label{fig:high-vic-arch}High-level Overview \emph{vic} Architecture 
+\caption{\label{fig:high-vic-arch}High-level \emph{vic} Architecture 
 with CC Mechanisms}
 \end{center}
 \end{figure}
@@ -21,7 +21,7 @@
 simple. For example, upon a packet reception, it will be inserted to a receive
 buffer, subsequently decoded (and some color conversion if necessary), and
 finally displayed in a output device. Depending upon a codec, the rendered
-frames may not be discareded immediately, but will be kept for some times before
+frames may not be discarded immediately, but will be kept for some times before
 they get purged.
 
 \subsection{\label{ssec:vic-overview}\emph{vic} Overview by Example}
@@ -30,8 +30,13 @@
 still grabber (\texttt{grabber-still.cpp}) as an example and describe how
 packets are transmitted.  The purpose of this analysis is to figure out how
 \emph{vic} works and, from that, we would like to know how to design the
-congestion control APIs.  Figure~\ref{fig:still-grabber} shows a class-diagram
-like figure that how the still grabber generates packets.
+congestion control APIs. The still grabber can be used when we want to feed
+pre-recored video sequences to the \emph{vic} system\footnote{One should start
+\emph{vic} using the following command: \texttt{./vic -XstillGrabber \emph{(IP
+address)}/\emph{(port number)}}.}. Currently, the still grabber in \emph{vic}
+can take a JPG image file (4:2:2) and a CIF formatted video file.
+Figure~\ref{fig:still-grabber} shows a class-diagram like figure that how the
+still grabber generates packets. \\
 
 \begin{figure}[!h] 
 \begin{center}
@@ -40,21 +45,29 @@
 \end{center} 
 \end{figure}
 
-The still grabber can be used when we want to feed pre-recored video sequences
-to the \emph{vic} system\footnote{One should start \emph{vic} using the
-following command: \texttt{./vic -XstillGrabber \emph{(IP address)}/\emph{(port
-number)}}.}. Currently, the still grabber in \emph{vic} can take a JPG image
-file (4:2:2) and a CIF formatted video file.
-
 Once the still device loads a file (either a JPG or a CIF file) into the memory,
 it invokes \texttt{StillGrabber} or \texttt{StillYuvGrabber} depending upon a
 file type. Assuming \texttt{StillYuvGrabber} is called, it sets the frame size
-by calling \texttt{setsize()} method, and call \texttt{StillYuvGrabber::start()}
-wich again calls \texttt{Grabber::start()}.  \texttt{Grabber::start()} basically
-sets a frame clock and sets \texttt{timeout()}. Then,
-\texttt{StillYuvGrabber::grab()} starts grabbing video frames from the memory
-and passes to the encoder (\texttt{encoder-h261.cpp}): in this case,
-\texttt{H261PixelEncoder::consume()} will be called. After that, it starts
-encoding macro-blocks given a set of YUV inputs and send the packets.
+by calling \texttt{setsize()} method, and calls
+\texttt{StillYuvGrabber::start()} which again calls \texttt{Grabber::start()}.
+\texttt{Grabber::start()} basically sets the frame clock and timer using
+\texttt{timeout()} method.  Then, \texttt{StillYuvGrabber::grab()} starts
+grabbing video frames from the memory and passes to the encoder
+(\texttt{encoder-h261.cpp}): in this case, \texttt{H261PixelEncoder::consume()}
+will be called. After that, it starts encoding macro-blocks given a set of YUV
+inputs and send the encoded frames to the transmit module
+(\texttt{SessionManager::transmit()}). The encoder provides the encoded frames
+to the transmit module as long as they are available: see the dashed line in
+Figure~\ref{fig:still-grabber}.  \texttt{SessionManager::transmit()} then
+packetizes the frames and sends it to the network. \\
+
+This is an example of how \emph{vic} takes input from a file, encodes the
+frames, packetizes them, and sends them to the network. The core part of the
+congestion control module could sit in between the codecs and the transmit
+module. Instead of passing the encoded frames directly to the transmit module,
+the encoded frames could be queued in some send buffer, and the congestion
+control module picks up the frames determined by its suggested rate, for
+example, if it is TFRC then it picks up the frames in a certain interval, or if
+it is TFWC then it pick up the frames as long as the sending window allows.
 
 \newpage

Modified: vic/branches/cc/docs/plan/report.tex
==============================================================================
--- vic/branches/cc/docs/plan/report.tex	(original)
+++ vic/branches/cc/docs/plan/report.tex	Mon Jun 30 14:48:24 2008
@@ -19,7 +19,7 @@
 \bibliographystyle{abbrv}
 \DeclareGraphicsRule{*}{eps}{*}{}
 
-\title{Initial Design Plan}
+\title{Project Plan}
 \author{Soo-Hyun Choi}
 
 %%% CHECK IF PDFLATEX OR LATEX
@@ -46,7 +46,7 @@
 \begin{center}
 %\includegraphics{logo}
 \vspace*{\stretch{1}}
-{\LARGE \textsf{\textbf{Initial Design Plan\\}}}
+{\LARGE \textsf{\textbf{Project Plan\\}}}
 \vspace{1cm}
 {\large \textsf{Soo-Hyun Choi\\}}
 {\small \textsf{s.choi at cs.ucl.ac.uk}\\}
@@ -56,7 +56,7 @@
 {\large \textsf{Supervised by \\
 Piers O'Hanlon and Colin Perkins \\}}
 \vspace{2.5cm}
-{\normalsize \textbf{Keywords}\\ Internet congestion control, real-time
+{\normalsize \textbf{Keywords}\\Internet congestion control, Real-time
 multimedia application}
 \end{center}
 \vspace*{\stretch{1}}



More information about the Sumover-dev mailing list