• No results found

Interactivity inside ES

The MPEG-4 standard gives a set of object descriptors and content is included in these by file offset pointers into the media content files. Not all of these objects are possible to access directly in VoD systems. Particularly since they are hidden inside the scene description and object description stream and the terminals must know MPEG-4 to extract them and gain access to the content they represent. Scene Descriptions include SD-Nodes

0 10 20 30 40 50 60 70 80 90 100

0 5 10 15 20 25

"free.dat"

"5x5.dat"

"3x3.dat"

Figure 6.5: freeform, 5x5, 3x3

0 10 20 30 40 50 60 70 80 90

0 5 10 15 20

"data.dat"

"data1.dat"

"data2.dat"

Figure 6.6: random vs Zipf branch

as fields, some of these can represent alternative content, this makes it possible to construct ES in which every scene includes branching points.

Since caching can only work if the objects can be identified, this means that either we are forced to cache the entire ES, even if large parts of it remain unconsumed. Alternatively, we can create ad hoc objects that point into the ES by file offset, and record which parts of the ES are popular. The task would be; recognize that the user has shifted to a different offset inside the ES, and recognize when the user shifts away again. The beginning of the offset correspond to the object’s id, the shift away point denotes the boundary of the object. Since AUs are the smallest items that the MPEG-4 standard attributes timeliness information too, they are perfect candidates for the smallest segments to recognize. Tracking all the AUs with metaobjects can be onereous though. The implementation in this thesis relays on the author to keep whole ES as single storylines, and put alternatives in ES’ of their own.

Conclusion

This thesis’ premise was to investigate the minimum amount of knowledge needed for a proxy caching server to consistently cache interactive branch-ing video encoded in MPEG-4.

As is shown in the analysis in chapter 4, the design in chapter 5 and finally the results in chapter 6 the answer to the premise task is:

The proxy cache server must know the identity of the caching candi-dates, both absolute and relative to the structure they are a part of. Fur-thermore the caching candidates must have defined borders, which gives them specific granularity with respect to the complete presentation.

Partial caching in the extent domain has been shown to work in the simulator, in future work we hope that it can be shown to be efficient also with more realistic user request patterns.

We chose only statistical algorithms, LRU and LFU, because no ad-ditional complexity was needed to simply demonstrate that the concept worked. For a more realistic implementation it could be interesting to se whether algorithms taking other factors into acount work better.

7.1 Results Discussion

The work presented in this thesis concludes with a test implementation and a proposed design for full implementation.

7.1.1 Test Implementation

The test runs agree on LRU and LFU, and increase cachehit with increasing number of films and increasing cachesize with respect to total number of objects. The effectextentcaching has on the result is to provide a smaller set of interesting objects. That is, the cache hit ratio, and all other ratios that are have the cache hit ratio as a factor, will be improved in the same

manner as when the cachesize increase with respect to the total number of objects.

7.1.2 Proposed Design

The proposed design to construct cache objects based on the granularity of the interactivity, make sure these objects were identifiable and had defined boundaries, should be feasible. In the test implementation the objects had a global id, constructed upon creation of the content. No such luxury should be expected in a real deployment. Still the necessary ids can be constructed from the relative ids of the films, their constituent ESs and the sequence number of the AUs.

Consumed BHR

In the implementation the ES had only one alternative scene each, and could be consumed in its entirety by the users. For content with several alternative scenes within an ES, the consumed byte hit ratio would be likely to drop. To increase the consumed byte hit ratio again, the proxy would have to recognise the alternative scenes within the ES. This can be done by creating ad hoc objects from the AUs that constitutes the alternative scenes.

These ad hoc objects should be identifiable and have defined boundaries.

Identities can be constructed from the sequence number of the AUs, available in the SL-PDU header as an optional field, and the ES_ID of the ES. ES_IDs are unique within each film, and we are already able to identify unique films. Defining the boundaries can either be done by considering each random acces AU as a unique entity and log statistics for it. Or from analysing where the users shift the playback point. Analysing shifting playback point allows us to dispense with onerous logging structures for the AUs. The length of an ad hoc objects in number of AUs could be determined by how many AUs a set of users play before shifting playback point.