Approximate Storage of Compressed and Encrypted Videos
Total Page:16
File Type:pdf, Size:1020Kb
Approximate Storage of Compressed and Encrypted Videos Djordje Jevdjic Karin Strauss Luis Ceze Henrique S. Malvar University of Washington Microsoft Research University of Washington Microsoft Research Abstract Keywords Approximate Storage; Video Encoding; Multi- The popularization of video capture devices has created Level Cells; Encryption strong storage demand for encoded videos. Approximate storage can ease this demand by enabling denser storage at 1. Introduction the expense of occasional errors. Unfortunately, even mi- Images and videos have been growing in importance and nor storage errors, such as bit flips, can result in major vi- are now prominent consumers of storage in both personal sual damage in encoded videos. Similarly, video encryption, and cloud environments [7]. Trends such as personal action widely employed for privacy and digital rights management, cameras, the use of 360 degrees video, and virtual reality may create long dependencies between bits that show little are expected to exacerbate video storage needs even fur- or no tolerance to storage errors. ther [19], calling for dense and economical large scale stor- In this paper we propose VideoApp, a novel and effi- age of videos. cient methodology to compute bit-level reliability require- Approximate storage enables increases in storage density ments for encoded videos by tracking visual and metadata for data items that do not need bit-by-bit precision [5, 17]. dependencies within encoded bitstreams. We further show For example, single bit flips in raw images affect only a how VideoApp can be used to trade video quality for storage small portion of the image, many times being imperceptible. density in an optimal way. We integrate our methodology However, when encoded and stored approximately, these im- into a popular H.264 encoder to partition an encoded video age files may suffer large distortions. This happens because stream into multiple streams that can receive different lev- when an image is encoded, each bit carries more information els of error correction according to their reliability needs. than bits in a raw image, and many pixels depend on that in- When applied to a dense and highly error-prone multi-level formation. Moreover, errors in different bits typically have cell storage substrate, our variable error correction mecha- different impact on the quality of the decoded output. Guo et nism reduces the error correction overhead by half under al. have shown that one particular class of image encoding the most error-intolerant encoder settings, achieving qual- algorithms can be adapted to partition bits by importance and ity/density points that neither compression nor approxima- apply different levels of approximation to each category [5]. tion can achieve alone. Finally, we define the basic invari- The result is higher image storage density with little quality ants needed to support encrypted approximate video storage. degradation. We present an analysis of block cipher modes of operation, Approximate storage of video brings additional chal- showing that some are fully compatible with approximation, lenges. First, in addition to the spatial and encoding de- enabling approximate and secure video storage systems. pendences already present in encoded images, video also presents temporal dependences. As a result, a single bit car- CCS Concepts • Computer systems organization ! Re- ries an order of magnitude more visual information com- liability; • Hardware ! Memory and dense storage; pared to images. To illustrate the problem, a single bit flip • Security and privacy ! Security requirements; Digital can severely damage 5 seconds (100-300 frames) of a video. rights management; • Computing methodologies ! Im- Second, due to digital rights management (DRM), and for age compression privacy reasons, videos often need to be encrypted. Unfor- tunately, the common encryption algorithms affect the ap- proximability of encrypted content by creating an additional layer of dependences between bits. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and To tackle the above challenges, in this paper we study dy- the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires namic data dependences in H.264-coded videos to track the prior specific permission and/or a fee. Request permissions from [email protected]. propagation of errors induced by bit flips, based on which we ASPLOS ’17 April 8–12, 2017, Xi’an, China. c 2017 ACM. ISBN 978-1-4503-4465-4/17/04. $15.00 compute the importance of each bit with respect to the visual DOI: http://dx.doi.org/10.1145/3037697.3037718 damage flipping that bit would cause. We add an analysis framework to the encoder as a post-processing step to assign was that, in a progressively encoded file, bits that are created the optimal approximation level for each class of bits based in later iterations of the quality refinement process inherently on the impact they have on the integrity of other data and the have less impact on the quality of the output compared to the overall video quality. Finally, we partition encoded videos initial bitstream, and consequently, lower reliability require- into multiple streams, storing each of them with a differ- ments. Guo et al. leveraged this observation to partition bits ent level of error correction according to its reliability needs in progressively encoded images into three categories, very (i.e., approximation tolerance). We further study the security important, important, and not important, and assign different requirements for approximate video storage, analyze multi- levels of error correction to them to achieve higher storage ple modes of a popular encryption algorithm, AES, and show density [5]. The storage substrate used by Guo et al. is a how to encrypt videos while still preserving the ability to ap- multi-level PCM tuned to minimize error rate for a partic- proximate them. ular refresh rate. In this paper we assume the same storage To evaluate our approximate storage scheme for videos, substrate. we integrate VideoApp into a widely used open-source H.264 2.2 Multi-Level Cell (MLC) Memories VideoLan encoder [3]. We show that with a dense but unreli- able storage substrate, multi-level cell (MLC) phase-change MLC memories provide a mechanism to increase density memory (PCM), it is possible to eliminate 47% of the er- at the device level by storing more than one bit per cell. ror correction overhead under the most error-intolerant en- Resistive memories, such as PCM, are written by applying coder settings. As a result, we achievie an improvement of strong currents to a cell, altering the physical structure of 2.57x in density compared to single-level cell (SLC) stor- the material and significantly changing its resistance. The age and 12.5% improvement compared to MLC storage with cell content is read by running a current/voltage through uniformly applied error correction, while only affecting the the cell and sensing the resulting voltage/current. A single- quality by less than 0.3dB, and while preserving the ability level cell may store one of two values depending on the to encrypt the contents. resistance, whereas multi-level cells are implemented by The rest of the paper is organized as follows: Section 2 further dividing the available resistance range into more than provides the background on approximate storage and video two levels, increasing the density commensurately. encoding. In Section 3, we study the propagation of bit-flip Designers working on MLCs have to make difficult induced errors in H.264-encoded videos. Section 4 presents choices in trading off density, cost, and reliability of such VideoApp, a practical methodology for approximate stor- memories. To make these cells precise (i.e., with extremely age of videos, and Section 5 discusses encryption for ap- low error guarantees, usually 10−16), they need to include proximate video storage. Section 6 describes our evaluation more sensitive and advanced circuitry to detect minute dif- methodology and Section 7 presents the evaluation results. ferences in resistance, prevent or account for resistance In Section 8 we discuss how relaxing our conservative as- drifts, which is costly. A common alternative is to use sumptions can further increase storage gains. Related work cheaper circuitry and apply advanced error correction to is presented in Section 9 and Section 10 concludes the paper. the entire storage [18]. The cell design complexity is re- duced, but at the cost of additional storage overhead for 2. Background error correction codes, which can be significant for a dense and error-prone substrate. 2.1 Approximate Storage Approximation relaxes error rate requirements on the Not all information needs to be stored precisely. Many appli- cells and allows designers to tune the reliability of cells to cations, such as machine learning and signal processing are the type of data that they are to store. For example, Guo et al. already noise-tolerant due to inherently noisy inputs. They have used approximation to tune a MLC PCM substrate for can also leverage the fact that human senses many times images [5]. Two types of errors affect the accuracy of PCM: cannot perceive imperfections in the output. For such ap- write/read errors, related to the access circuitry, and drift- plications, providing a fully precise storage substrate can induced errors that reflect non-linear drifts in resistance over be a waste; approximate storage is sufficient [17]. How- time. To minimize overall cell error rates, Guo et al. first ap- ever, certain applications already exploit limitations in hu- ply non-uniform partitioning of the cell resistance range into man senses to deterministically encode the data and create a multiple levels to account for non-linear resistance drifts, smaller storage footprint.