<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body text="#000000" bgcolor="#ffffff">
Hi,<br>
I have few questions on the specification.<br>
<br>
* Just to understand : <br>
- What is the interest of super blocks ? Is it to save place
when recording coded block flags (7.3) ?<br>
- What is the advantage of using the coded order ? it is more
often easier with raster order (especially to find neighbor in 7.8.1
for exemple). Is it to simplify the correspondence between block,
macro block and super block ?<br>
<br>
* A problem with motion vectors :<br>
- How motion vector are decoded ?<br>
In the specification, it is said :<br>
“Each component can take on integer values from −31 . . . 31,
inclusive, at
<br>
half-pixel resolution, i.e. −15.5 . . . 15.5 pixels in the luma
plane. For each sub-
<br>
sampled axis in the chroma planes, the corresponding motion vector
component
<br>
is interpreted as being at quarter-pixel resolution, i.e. −7.75 . .
. 7.75 pixels. The
<br>
precise details of how these vectors are used to compute predictors
for each
<br>
block are described in Section 7.9.1.
”<br>
But nowhere, decoded values are divided by two. Algorithm in
7.5.1 gives MVX and MVY in -31..31. Algorithm in section 7.5.2 keep
these values. In section 7.9.1.3, the use of MVX2 and MVY2 seem to
be the solution but in algorithm 7.9.4, these two variables are
initialized with the same value :<br>
B. Assign MVX the value
<br>
|MVECTS[bi ]x | ∗ sign(MVECTS[bi ]x ).
<br>
C. Assign MVY the value
<br>
|MVECTS[bi ]y | ∗ sign(MVECTS[bi ]y ).
<br>
D. Assign MVX2 the value
<br>
|MVECTS[bi ]x | ∗ sign(MVECTS[bi ]x ).
<br>
E. Assign MVY2 the value
<br>
|MVECTS[bi ]y | ∗ sign(MVECTS[bi ]y ).<br>
As MVECTS are integer, floor and ciel functions give the same
result. <br>
<br>
I do not understand. Maybe MVECTS[bi ] should be replaced by
MVECTS[bi ] /2 in all these expressions ?<br>
<br>
* Few typos :<br>
<br>
in section 7.8.1<br>
Variables used :<br>
PDIV (...) The valud -> the valu*e*<br>
mbi->mb*j* (...) The index ... block bj<br>
7. If block bi is not along the *the* bottom<br>
<br>
in table 7.47 :<br>
p[0] p[1] p[2] p[3] w[3] w[1] w[2] w[3] -> p[0] p[1] p[2] p[3]
w[*0*] w[1] w[2] w[3]<br>
<br>
Regards
<br>
J.F.
<br>
<style type="text/css">p { margin-bottom: 0.21cm; }</style>
</body>
</html>