Tải bản đầy đủ

luận văn thạc sĩ motion analysis from encoded video bitstream

VIETNAM NATIONAL UNIVERSITY, HANOI
UNIVERSITY OF ENGINEERING AND TECHNOLOGY

NGUYEN MINH HOA

MOTION ANALYSIS FROM ENCODED VIDEO
BITSTREAM

MASTER’S THESIS

HA NOI – 2018


VIETNAM NATIONAL UNIVERSITY, HANOI
UNIVERSITY OF ENGINEERING AND TECHNOLOGY

NGUYEN MINH HOA

MOTION ANALYSIS FROM ENCODED VIDEO
BITSTREAM


Major: Computer Science

MASTER’S THESIS

Supervisor: Dr. Do Van Nguyen
Co-Supervisor: Dr. Tran Quoc Long

HA NOI - 2018


i

AUTHORSHIP
“I hereby declare that the work contained in this thesis is of my own and I have
not submitted this thesis at any other institution in order to obtain a degree. To
the best of my knowledge and belief, the thesis contains no materials previously
published or written by another person other than those listed in the
bibliography and identified as references.”

Signature: ………………………………………………


ii

SUPERVISOR’S APPROVAL
“I hereby approve that the thesis in its current form is ready for committee
examination as a requirement for the Master of Computer Science degree at the
University of Engineering and Technology.”

Signature: ………………………………………………

Signature: ………………………………………………


iii

ACKNOWLEDGMENTS
First of all, I would like to express special gratitude to my supervisors, Dr. Do
Van Nguyen and Dr. Tran Quoc Long, for their enthusiasm for instructions, the
technical explanation as well as advices during this project.


I also want to give sincere thanks to Assoc. Prof. Dr. Ha Le Thanh, Assoc. Prof.
Dr. Nguyen Thi Thuy for the instructions as well as the background knowledge
for this thesis. And I would like to also thank my teachers, my friends in Human
Machine Interaction Lab for their support.
Thank my friends, my colleagues in the project "Nghiên Cứu Công Nghệ Tóm
Tắt Video", and project “Multimedia application tools for intangible cultural
heritage conservation and promotion”, project number ĐTDL.CN-34/16 for
their working and support.
Last but not least, I want to thank my family and all of my friends for their
motivation and support as well. They stand by and inspire me whenever I face
the tough time.


1

TABLE OF CONTENTS
AUTHORSHIP......................................................................................................i
SUPERVISOR’S APPROVAL.............................................................................ii
ACKNOWLEDGMENTS...................................................................................iii
TABLE OF CONTENTS......................................................................................1
ABBREVIATIONS...............................................................................................3
List of Figures.......................................................................................................4
List of Tables.........................................................................................................5
INTRODUCTION................................................................................................ 6
CHAPTER 1. LITERATURE REVIEW.............................................................9
Moving object detection in the pixel domain 9
Moving object detection in the compressed domain 10
1.2.1.

Motion vector approaches.............................................................11

1.2.2.

Size of Macroblock approaches.................................................... 13
Chapter Summarization 14

CHAPTER 2. METHODOLOGY.................................................................... 15
Video compression standard h264

15

2.1.1.

H264 file structure.........................................................................15

2.1.2.

Macroblock....................................................................................18

2.1.3.

Motion vector................................................................................ 19
Proposed method 21

2.2.1.

Process video bitstream.................................................................21

2.2.2.

Macroblock-based Segmentation..................................................22

2.2.3.

Object-based Segmentation...........................................................24

2.2.4.

Object Refinement............................................................................28


2

Chapter Summarization ......................................................................... 28
CHAPTER 3. RESULTS .................................................................................. 30
The moving object detection application .............................................. 30
3.1.1.The process of application ............................................................ 31
3.1.2. The motion information ................................................................ 34
3.1.3. Synthesizing movement information ............................................ 35
3.1.4. Storing Movement Information .................................................... 36
Experiments ........................................................................................... 36
3.2.1. Dataset ........................................................................................... 36
3.2.2. Evaluation methods ....................................................................... 40
3.2.3. Implementations ............................................................................ 41
3.2.4. Experimental results ...................................................................... 41
Chapter Summarization ......................................................................... 44
CONCLUSIONS ................................................................................................. 45
List of of author’s publications related to thesis ................................................. 46
REFERENCES.................................................................................................... 47


3

ABBREVIATIONS
MB

Macroblock

MV

Motion vector

NALU

Network Abstraction Layer Unit

RBSP

Raw Byte Sequence Payload

SODB

String Of Data Bits


4

List of Figures
Figure 1.1. The process of moving object detection with data in the pixel domain
............................................................................................................................. 10
Figure 1.2. The process of moving object detection with data in the compressed
domain ................................................................................................................. 11
Figure 2.1. The structure of a H264 file .............................................................. 15
Figure 2.2. RBSP structure .................................................................................. 16
Figure 2.3. Slide structure ................................................................................... 18
Figure 2.4. Macroblock structure ........................................................................ 18
Figure 2.5. The motion vector of a Macroblock ................................................. 20
Figure 2.6. The process of moving object detection method .............................. 22
Figure 2.7. Skipped Macroblock ......................................................................... 23
Figure 2.8. (a) An outdoor and in-door frames (b) The "size-map" of frames, (c)
The "motion-map" of frames ............................................................................... 24
Figure 2.9. Example about the “consistent” of motion vector ............................ 26
Figure 3.1. The implementation process of the approach ................................... 33
Figure 3.2. Data struct to storage motion information ........................................ 35
Figure 3.3. Example frames of test videos .......................................................... 37
Figure 3.4. Example frames and their ground truth ............................................ 39
Figure 3.5. An example frame of Pedestrians (a) and ground truth image (b) ... 40


5

List of Tables
Table 2.1. NALU types .......................................................................................
Table 2.2. Slide types ..........................................................................................
Table 3.1. The information of test videos ...........................................................
Table 3.2. The information of test sequences in group 1 ....................................
Table 3.3. The performance of two approachs with Pedestrians, PETS2006,
Highway, and Office ...........................................................................................
Table 3.4. The experimental result of Poppe’s approach on 2nd group ...............
Table 3.5. The experimental result of proposed method on 2nd group ...............

16
17
38
39
42
42
43


6

INTRODUCTION
Today, video content is extensively used in the areas of life such as indoor
monitoring, traffic monitoring, etc. The number of videos sharing over the
Internet at any given time is also extremely large. According to statistics,
hundreds of hours of video are uploaded to Youtube every minute [1]. Not only
that, the general trend today is the surveillance cameras installed in homes for
surveillance and sercurity purposes. These cameras will normally operate and
store the surveillance videos automatically. Only when there are some special
situations, or some special events occur, humans will use the video data to
revisit. The problem is that in a short amount of time, how can such a large
video volume be evaluated? For example, when there is a burglary, an intrusion
occurs, we can not spend hours to check each video previously stored. Then, a
tool that lets you determine the moment when an object is moving in a long
video is essential to reducing the time and effort of searching.
Normally, in order to reduce the size of videos for transmission or storing, a
video compression procedure is performed at surveillance cameras. After that,
the compressed information in form of bit stream is stored, or transmitted to a
server for analysis. The video analysis process needs a lot of features to describe
different aspects of vision. Typically, these features are extracted from the pixel
values of each video frame by fully decompressing bitstream. The
decompression procedure requires high computation capacity device to perform.
However, with the trend of "Internet of Things", there are many low processing
capacity devices which are not capable for performing this full video
decompression at high speed. So, it is difficult to perform an approach that
requires a lot of computing power in real time.
Another way to extract the feature from the video is using the data on the
compressed video. These data can be: transform coefficients, motion vectors,
quantization steps, quantization parameters, etc. From the above data, through
the process and analysis, we can handle some important tasks in the computer
vision include moving objects detection, human actions detection, face
recognition, motion objects tracking.
This thesis proposes a new method to determine moving object by exploring and
applying some motion estimation techniques in the video compression domain.
After that, the method will be used to build an application that supports movement
searching in the surveillance videos in the families. The compression format of


7

the videos in the thesis is the H264 compression standard (MPEG-4 part10), a
popular video compression standard today.
Aims
The goal of the thesis is to propose a method for determining moving objects in
the compressed domain of a video. Then, I try to build an application using the
method for support searching the moments which have moving objects in the
video.
Object and Scope of the study
Within the framework of the thesis, I study the algorithms related to determining
moving objects in video, especially the algorithms that determine moving
objects in the compressed domain. The video compression standard is used in
the thesis is H264/AVC.
The theory of video compression and computer vision are taken from scientific
articles related to the video analysis problem on the compression domain,
determine the motion form on the compression domain of the video.
The videos for test and experiment are obtained from the surveillance cameras
both indoor and outdoor.
Method and procedures
- Research on motion analysis and evaluation systems on existing compressed
video, scientific articles related to the analysis and evaluation of motion on
compressed video.
- Experimental research: Conduct experiential settings for each theoretical part
such as extracting video data, compiling data, and evaluating motion based on
the obtained data.
- Experimental evaluation: Each experiment will be conducted independently on
each module and then integrated and deployed.
Contributions
The thesis proposes a new moving object detection method in surveillance video
encoded with H264 compression standard using the motion vector and size of
macroblock.


8

Thesis structure
Apart from the introduction, the conclution and the references, this thesis is
organized into 3 chapters with the following main contents:
Chapter 1 is literature review. This chapter will show the related work of the
thesis include the moving object detection methods in the pixel domain and the
moving object detection methods in the compressed domain.
Chapter 2 mentiones the basic knowledge about video compression standard
H264 such as H264 file structure, macroblocks, motion vectors and describes the
detail of moving object detection method including processing video bitstreams,
macroblock-based segmentation phase, object-based segmentation phase, and
object refinement phase.
Chapter 3 shows the results of method including an application using proposed
method and experimental results.


9
CHAPTER 1.

LITERATURE REVIEW
Today, surveillance cameras are used extensively in the world. The volume of
video surveillance has also grown tremendously. Some problems that are often
encountered with video surveillance include event searching, motion tracking,
abnormal behavior detection, etc. In order to handle these tasks, it is necessary
to have a method that can determine which the moments in each videos exist
movements.
Usually, the video is compressed for storage and transmission. The previous
moving object detection method usually use the data from the pixel images such
as color value, edges, etc. To get the images that can be displayed, or processed,
the system must decode video fully. This consumes a large number of computing
resources, time and memory of the device. I suggest a method that can quickly
determine the moving objects in high resolution videos. The data used in the
method will be taken from the compressed video domain including information
about the motion vector and the size of the macroblock (in bit) after encoding.
The method reduces the processing time of the method considerably compared
to methods implemented with data on the pixel domain.
The problem of motion detection in a video has long been studied. This is the
first step in a series of computer vision problems such as object tracking, object
detection, abnormal movement detection, etc. There are usually two approaches
to address this problem: using fully decoded video data (pixel domain data) or
using live data from an undecoded video (compressed domain data). The
following section will outline the studies based on these two approaches.

Moving object detection in the pixel domain
Typically, to reduce the size of the video for transmission, a video encoding
process is performed inside the surveillance camera and the compressed
information is transmitted as a bit stream to a server for video analysis. Common
video compression standards used today including mp4, H264, H265. To be
viewable, these compressed videos need to be decoded to image frames. We call
these image frames are the pixel domain and the data obtained from these image
frames are the data in the pixel domain. Fig. 1.1 describes the process of moving
object detection methods in the pixel domain. The data in the pixel domain
include the color values of the pixels, the number of color channels of each
pixel, the edges, etc.


10

Figure 1.1. The process of moving object detection with data in the pixel domain
To determine moving objects in the pixel domain, background subtraction
algorithms are commonly used. There are many research results that have been
introduced long ago. These methods usually use data as the relationship between
frames in a time series.
Background subtraction in [2] is defined as: “Background subtraction is a widely
used approach for detecting moving objects in videos from static cameras. The
rationale in the approach is that of detecting the moving objects from the
difference between the current frame and a reference frame, often called The
“background image”, or “background model”. As a basic, the background image
must be a representation of the scene with no moving objects and must be kept
regularly updated so as to adapt to the varying luminarice conditions and
geometry settings.”.
Results of the researchs may include the methods use Gaussian average such as the
method of Wren et al. [3], the method of Koller et al. [4]; the methods use Temporal
median filter such as the method of Lo and Velasti [5], the method of Cucchiara et
al. [6]; the methods using a mixture of Gaussians such as the method of Stauffer
and Grimson [7], methods of Wayne Power and Schoonees [8]; etc.

The above methods have a common characteristic that is the process data are
taken by fully decompress the compressed bitstream and this decompression
procedure requires a highly computational device to perform. However, with the
trend of "Internet of Things," where most low-end devices are not capable of
performing high-speed decompression. Therefore, there should be a video
analysis mechanism that includes only uncompressed video.

Moving object detection in the compressed domain
Normally, the videos will be encoded using some compression standard. Each
compression standard specifies how to shrink the video size by a certain structure.
The compressed videos will contain fewer data. For example, with the H264
compression standard, the data contained in the compressed video includes


11

information about macroblock, motion vector, frame information, etc. We call
these data that the data in the compressed domain or video compression region.
Fig. 1.2 shows the process of moving object detection methods by using the data
in the compressed domain.

Figure 1.2. The process of moving object detection with data in the
compressed domain
In general, the amount of data in the video compression domain is much less
than the data in the pixel domain. The idea of using data in the compressed
domain with the H264 compression standard for video analysis has also been
investigated by some scientists around the world. In order to be able to detect
motion in the compressed video domain, we usually use two types of data. They
are the motion vector and the size (in bit) of the macroblock.
1.2.1. Motion vector approaches

A number of algorithms have been proposed to analyze video content in the H264
compressed domain, whose good performances have been obtained [9] [10]. Zeng
et al. Study in [11] proposed a method to detect moving objects in H264
compressed videos based on motion vectors. Motion vectors are extracted from the
motion field and classified into several types. Then, they are grouped into blocks
through the Markov Random Field (MRF) classification process. Liu et al.
[12] recognized the shape of an object by using a map for each object. This
approach is based on a binary partition tree created by macroblocks. Cipres et al.
[13] presented a moving object detection approach in the H264 compressed
domain based on fuzzy logic. The motion vectors are used to remove the noises that
appear during the encoding process and represent the concepts that describe the
detected regions. Then, the valid motion vectors are grouped into blocks. Each of
them could be identified as a moving object in the video scene. The moving objects
of each frame are described with common terms like shape, size, position, and
velocity. Mak et al. [14] used the length, angle, and direction of motion vectors to
track the objects by applying the MRF. Bruyne et al. [15] estimated the


12

reliability of motion vectors by comparing them with projected motion vectors
from surrounding frames. Then, they combined this information with the magnitude
of motion vectors to distinguish foreground objects from the background. This
method can localize the noisy motion vectors and their effect during the
classification can be diminished. Wang et al. [16] proposed a background modeling
method using the motion vector and local binary pattern (LBP) to detect the
moving object. When a background block was similar to a foreground block, a
noisy motion vector would appear. To obtain a more reliable and dense motion
vector field, the initial motion vector fields were preprocessed by a temporal
accumulation within three inter frames and a 3×3 median filtering. After that, the
LBP feature was introduced to describe the spatial correlation among neighboring
blocks. This approach can reduce the time of extracting moving objects while also
performing an effective synopsis analysis. Marcus Laumer [17] proposed an
approach to segment video frames into the foreground and background and,
according to this segmentation, to identify regions containing moving objects. The
approach uses a map to indicate the "weight" of each (sub-)macroblock for the
presence of a moving object. This map is the input of a new spatiotemporal
detection algorithm that is used to refine the weight that indicated the level of
motion for each block. Then, quantization parameters of macroblocks are used to
apply individual thresholds to the block weights to segment the video frames. The
accuracy of the approach was approximately 50%.

To identify the human action, Tom et al. [18] proposed a quick action
identification algorithm. The algorithm uses quantization parameters gradient
image (QGI) and motion vectors with support vector machines (SVM) to
classify the types of the actions. The algorithm can also handle light, scale and
some other environmental variables with an accuracy rate of 85% on the videos
with resolution 176x144. It can identifies walking, running, etc. Similarly, Tom,
Rangarajan and his colleagues also used QGI and motion vector to propose a
new method to classify human actions as the Projection Based Learning of the
Meta-cognitive Radial Basis Functional Network (PBL-McRBFN).
With the motion tracking problem, Biswas et al. [19] propose a method for
detecting abnormal actions by analyzing motion vector. This method mainly relies
on observing the motion vector to find the difference between abnormal actions and
normal situations. The classifier used here is the Gaussian Mixture Model (GMM).
This approach base on their another approach [20] but improved it by using the
direction of the motion vector. The speed of approach when perform experimental
is about 70fps. Thilak et al. [21] propose a Probabilistic Data


13

Association Filter that detects multiple target clusters. This method can handle
cases in which targets split into multiple clusters or clusters should be detected
(classified) as a target. Similarly, You et al. [22] use the probabilistic spatiotemporal MB filtering to mark the macroblock as objects and then remove them
from the noise. The algorithm can track many objects with real-time accuracy
but can only be applied in case of fixed camera and objects must be at least two
macroblocks. Kas et al. [23] overcame the fixed camera problem using Global
Motion Estimation and Object History Images to handle background movement.
However, the number of motion objects need to be small and the moving objects
are not occupied most of the frame area.
1.2.2. Size of Macroblock approaches

The methods mentioned above share the trait of using motion vectors to detect
moving objects. However, since motion vectors are usually created at the video
encoder to optimize video compression ratio, they do not always represent the
real motion in the video sequence. As such, due to its coding-oriented nature, to
detect moving objects, the motion vector fields must be preprocessed and
refined to remove the noises.
So, Poppe et al. [24] proposed an approach to detect moving objects in the H264
video by using the size of the macroblocks after encoding (in bit). To achieve
Sub-macroblock-level (4×4) precision, the information from transform
coefficients was also utilized. The system achieved high execution speeds, up to
20 times faster than the motion vector-based related works. An analysis was
restricted to Predicted (P) frames, and a simple interpolation technique was
employed to handle Intra (I) frames. The whole algorithm was based on the
assumption that the macroblocks that contains an edge of a moving object is
more difficult to compress since it is hard to find a good match for those
macroblocks in the reference frame(s).
Base on Poppe’s idea, Vacavant et al. [25] used the macroblock size to detect
moving objects by applying the Gaussian mixture model (GMM). The approach
can represent the distribution of macroblock sizes well.
Although the method of Poppe and Vacavant is good for removing the background
motion noise, they cannot produce high motion detection results for videos in high
spatial resolution (such as 1920 × 1080 or 1280 × 720). In case where the moving
objects are large and they contain a uniform color region (such as a black car), then
the size of macroblocks corresponding to the inside region of


14

the moving object will be very small (normally around zero), and using a
filtering threshold or parameter (though very small) will not be effective. In
those cases, the algorithm will determine these regions to be background.

Chapter Summarization
In this chapter showed the researchs about moving object detection in both pixel
domain and compressed domain. The approachs using data from pixel domain
usually have high accuracy but taking a large number of computing resources
and time. The approachs using data in compressed domain have lower accuracy
because the data in compressed domain usually contain less information. In the
next chapters, I will propose a method that can efficiently detect moving objects,
especially in high spatial resolution video streams. The method uses the data
taken from the video compressed domain, including the size of the macroblocks
to detect the skeleton of the moving object and the motion vectors to detect the
detail of the moving object.


15
CHAPTER 2.

METHODOLOGY
Video compression standard h264
Before proposing the moving object detection method, this chapter will show
some informations about H264, a popular video compression standard, which is
used to encode and decode the surveillance video in the thesis.
This day, the installation of surveillance cameras in house became quite
common. Normally, video data from a surveillance camera over a long period of
time usually has very huge size. Consequently, videos need to be preprocessed
and encoded before being used and transmitted over the network. There are
many recognized compression standards and widely used. One of these is the
H264 or MPEG-4 part 10 [26], a compression standard recognized by the ITU-T
Video Coding Experts Group and the ISO/IEC Moving Picture Experts Group.
2.1.1. H264 file structure

Normally, the video after being captured from the camera will be compressed
using a common video compression standard such as H261, H263, MP4,
H264/AVC, H265/HEVC, etc. In the thesis, I encode and decode the video by
using H264/AVC. The H264 video codec or MPEG-4 part 10 is recognized by
the ITU-T Video Coding Experts Group and the ISO/IEC Moving Picture
Experts Group.
Typically, an H264 file is splitted into packets called the Network Abstraction
Layer Unit (NALU) [27], as shown in Fig. 2.1.

Figure 2.1. The structure of a H264 file
The first NALU byte indicates the type of NALU. The NALU type shows what the NALU's structure is. It can be a
slice or set parameters for decompression. The meaning of the NALU in Table 2.1.


16

Table 2.1. NALU types
Type

Definition

0
1
2
3
4
5
6
7
8
9
10
11
12
13..23
24..31

Undefined
Slice layer without partitioning non IDR
Slice data partition A layer
Slice data partition B layer
Slice data partition C layer
Slice layer without partitioning IDR
Additional information (SEI)
Sequence parameter set
Picture parameter set
Access unit delimiter
End of sequence
End of stream
Filler data
Reserved
Undefined

Other than NALU, the rest of the NALU is called RBSP (Raw Byte Sequence
Payload). RBSP contains data of SODB (String Of Data Bits). According to the
specification document H264 (ISO/IEC 14496-10) if the SODB is empty (no
bits are present), the RBSP is also empty. The first byte of RBSP (left side)
contains 8 bits of SODB; The next byte of the RBSP will contain up to 8 bits of
SODB and continue until less than 8 bits of SODB.

Figure 2.2. RBSP structure


17

A video will normally be divided into frames and the encoder will encode them
one by one. Each frame is encoded into slices. Each slice is divided into
Macroblock (MB). Typically, each frame corresponds to a slice, but sometimes a
frame can be split into multiple slices. The slices are divided into categories as
shown in Fig. 2.2. A slice consists of a header and a data section (Fig. 2.3). The
header of the slice contains information about the type of slice, the type of MB
in the slice, the number of slice frames. The header also contains information
about the reference frame and quantitative parameters. The data portion of the
slice is the information about the macroblock.
Table 2.2. Slide types
Type
Description
0
P-slice. Consists of P-macroblocks (each macroblock is predicted using
one reference frame) and/or I-macroblocks.
1

B-slice. Consists of B-macroblocks (each macroblock is predicted
using one or two reference frames) and/or I-macroblocks.

2

I-slice. Contains only I-macroblocks. Each macroblock is predicted
from previously coded blocks of the same slice.

3

SP-slice. Consists of P and/or I-macroblocks and lets you switch
between encoded streams.

4

SI-slice. It consists of a special type of SI-macroblocks and lets you
switch between encoded streams.

5
6
7
8
9

P-slice.
B-slice.
I-slice.
SP-slice.
SI-slice.


18

Figure 2.3. Slide structure
2.1.2. Macroblock

The basic principle of a compression standard is to split the video into frame
groups. Each frame is divided into the basic processing units. (For example, in
the H264/AVC standard, it is Macroblock (MB) which is a region 16x16 pixels).
Also, with some data regions carrying more detail, the MBs will be subdivided
into smaller sub-macroblocks (4x4 or 8x8 pixels). Each MB after compression
will contain the information used to recover the video later, including Motion
vector, Residual value, Quantization parameter, etc. as in Fig. 2.4, where:







ADDR is the position of Macroblock in a frame;
TYPE is the Macroblock type;
QUANT is the quantization parameter;
VECTOR is Motion vector;
CBP (Coded Block Pattern) show how to split MB into smaller blocks;
bN is encoded data of residual of color channels (4 Y, 1 Cr, 1 Cb).

Figure 2.4. Macroblock structure
During decompression, the video decoder receives the compressed video data as
a stream of binary data, decodes the elements and extracts the encoded
information, including coefficients of variation, size of MB (in bit), motion


19

prediction information, and so on and perform the reverse transformation to
restore the original image data.
2.1.3. Motion vector

With H264 compression, frame-based megabytes are predicted based on the
information that has been transferred from the encoder to the decoder. Usually,
there are two ways of predicting frame prediction and inter-frame prediction.
Frame forecasting uses compressed image data in the same frame as the
compressed macroblock and predicts inter-frame image data using previously
compressed frames. Interframe forecasting is accomplished through a predictive
and compensatory motion process in which the motion predator retrieves the
macroblock in the reference frame closest to the new macroblock and calculates
the motion vector, this vector characterizes the shift of the new macroblock to
encoding compared to the reference frame.
Referenced macroblocks are sent to the subtractor with the new macroblock that
needs coding to find error prediction or residual signal, which will characterize
the difference between the predicted macroblock and the actual macroblock. The
residual signal or prediction error will be converted to Discrete Cosine
Transform and quantized to reduce the number of bits to be stored or
transmitted. These coefficients together with the motion vectors will be applied
to the entropy compressor and the bit stream. Video streams of binary data
include conversion factors, motion prediction information, compressed data
structure information, and more. To perform video compression, one compares
the values of the two frames. A frame is used as a reference. When we want to
compress a MB at position i of a frame, the video compression algorithm tries to
find the reference frame of a MB with the smallest value of MB compared to
MB at position i. Then, if MB is found in the reference frame at position j, the
change between i and j is called the Motion vector (MV) of MB at position i
(Fig. 2.5). Normally an MV will consist of two values: x (the column position of
MB) and y (row position of MB).


20

Figure 2.5. The motion vector of a Macroblock
Note that the MV of a MB does not really describe the motion of the objects in
that MB, but merely represents the movement of pixels closest to the pixels in
MB.


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×