I want to explain this algorithm in detail. Step by step JOURNAL OF MULTIMEDIA,
ID: 3875274 • Letter: I
Question
I want to explain this algorithm in detail. Step by step
JOURNAL OF MULTIMEDIA, VOL. 6. NO. 4, AUGUST 2011 Reversible Image Data Hiding Using Quad-tree Segmentation and Histogram Shifting Yih-Chuan Lin Department of Computer Science and Information Engineering, National Formosa University, Yunlin, Taiwan 63201 Email: lyc@nfu.edu.tw Tzung-Shian Li Institute of Electro-Optical and Materials Science, National Formosa University. Yunlin, Taiwan 63201 Email: iamturtle19@yahoo.com.tw Abstract This paper is working towards a high be transformed back to its original form at the extraction capacity histogram-based reversible data hiding algorithm stage. However, in some applications for sensitive images with a relatively lower distortion introduced after [5-7], such as medical images, military remote-sensing embedding the secret message. The proposed algorithm can images, and artworks, it is essential to be able to reverse be thought of as an improved version of the traditional histogram shifting method. To take advantage of simplc the marked media back to its original form after the intensities, the idca bechind the hidden data are retrieved for some legal considerations.Explanation / Answer
The algorithm given below is used to traverse the quad-tree in a preorder traversal fashion. In a preorder traversal, first we traverse the root, and if the root node has left subtree and right subtree, we will traverse left subtree and then right subtree. This procedure is repeated until we have traversed every node in the tree. A general Preorder traversal algorithm looks like the following.
PreOrderTraversal(Node root) {
if(root is null)
return
// print root data
PreOrderTraversal (root -> left)
PreOrderTraversal (root -> right)
}
The given algorithm also traverses the quad tree in a preorder fashion. Please find inline comments (in bold) to understand how this algorithm can achieve so.
Algorithm 1: Quad-tree structure traversal
Input: Nodes b(x, zx )
Output:
Bit-stream: t Initialization: b(x, zx ) = b(0, 1)
// Preorder_bitstream() is used to do preorder traversal of a quadtree-structure.
// argument: It takes only one argument b(x,zx ). Here, b( x, zx ) represents the zx-th block at the x-th level of
// the quad-tree structure.
Begin Preorder_bitstream ( b(x,zx ))
// t is the stream of bits representing the preorder traversal output, which is obtained by concatenation of 't' // bits with n( x, zx ) block bits. || represents concatenation here.
1. t = t || n( x, zx )
// Now, to decide whether to do preorder traversal of left subtree,
// we need to check if b( x, zx ) block has bits to be traversed.
2. If n( x, zx ) != 0
// If number of bits in b( x, zx ) != 0, it is now time to traverse the left-subtree of the quad tree structure // which is represented by zx-th block at the (x+1)-th level of the quad-tree structure.
3. Preorder_bitstream ( b(x+1, zx ))
4. else
// If no bits left in the left subtree (meaning left subtree successfully traversed), now it is required to // traverse the right subtree of the quad-tree stucture.
// Right subtree is represented by (zx-1 + 1)th at (x-1) level.
5. Preorder_bitstream ( b(x 1, zx-1 + 1) )
6. End if
End
// Repeat the same procedure until all the quad-tree structure have been successfully traversed.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.