Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
A
audiowmark
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Stefan Westerfeld
audiowmark
Commits
b59a0c5b
Commit
b59a0c5b
authored
Feb 21, 2024
by
Stefan Westerfeld
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
DOCS: minor updates
Signed-off-by:
Stefan Westerfeld
<
stefan@space.twc.de
>
parent
c081173c
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
23 additions
and
13 deletions
+23
-13
audiowmark.md
docs/audiowmark.md
+23
-13
No files found.
docs/audiowmark.md
View file @
b59a0c5b
...
@@ -45,6 +45,7 @@ or --raw-channels) are documented in the README file.
...
@@ -45,6 +45,7 @@ or --raw-channels) are documented in the README file.
HLS command help can be displayed using --help-hls
HLS command help can be displayed using --help-hls
```
```
\p
agebreak
# Audiowmark Architecture
# Audiowmark Architecture
<style>
body { max-width: 50em; margin: auto; }
</style>
<style>
body { max-width: 50em; margin: auto; }
</style>
...
@@ -254,9 +255,9 @@ conv_encode [color=green4,shape=rect,label=<
...
@@ -254,9 +255,9 @@ conv_encode [color=green4,shape=rect,label=<
<b>Convolutional Code Expansion</b> <br/>
<b>Convolutional Code Expansion</b> <br/>
• Pads watermark with termination zeros <br/>
• Pads watermark with termination zeros <br/>
• Combines bit stream with A/B constants <br/>
• Combines bit stream with A/B constants <br/>
• Generates output stream of
parity
bits <br/>
• Generates output stream of
encoded
bits <br/>
• Generates 858
parity
bits A-Block <br/>
• Generates 858
encoded
bits A-Block <br/>
• Generates 858
parity
bits B-Block <br/>
• Generates 858
encoded
bits B-Block <br/>
</TD></TR></TABLE>>];
</TD></TR></TABLE>>];
ab_generators [color=green4,shape=rect,label=<
ab_generators [color=green4,shape=rect,label=<
...
@@ -343,19 +344,28 @@ get_frame_mod [color=red,shape=rect,label=<
...
@@ -343,19 +344,28 @@ get_frame_mod [color=red,shape=rect,label=<
}
}
~~~
~
~~~
~
The watermark is encoded and embedded into the audio signal in two block types, A-Blocks and B-Blocks.
The watermark is encoded and embedded into the audio signal in two block types,
Given ideal transmissions, the watermark can be extracted from each of the block types.
A-Blocks and B-Blocks. The information contained in each block alone is
In case of distorted and noisy transmissions where watermark extraction from either block type fails,
usually sufficient to extract the watermark. However, in case of very
a combination of segments with A-Block and B-Block data may still lead to successful recovery of the original watermark.
distorted and noisy transmissions where watermark extraction from either block
type fails, a combination of segments with A-Block and B-Block data may still
lead to successful recovery of the original watermark.
In order to support watermark extraction from clipped excerpts of the input stream, a fixed pattern
In order to support watermark extraction from clipped excerpts of the input
of synchronization bits is integrated into the data blocks with much higher redundancy than the data bits.
stream, a fixed pattern of synchronization bits is integrated into the data
The fixed pattern allows detection of A-Blocks and B-Blocks as such to aid the watermark extraction.
blocks with much higher redundancy than the data bits. The fixed pattern
allows detection of the location of A-Blocks and B-Blocks as such to aid the
watermark extraction.
The user provided encoding
`Key`
seeds an AES based pseudo random number generator in
The user provided encoding
`Key`
seeds an AES based pseudo random number generator in
[
Counter Mode
](
https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#CTR
)
[
Counter Mode
](
https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#CTR
)
that is used to determine encoding places, randomize the noise introduced by the watermark and to interleave encoding
that is used to determine encoding places, randomize the noise introduced by
for robustness. Without the key, the watermark information cannot be retrieved and its presence can not be detected.
the watermark and to interleave encoding for robustness. Without the key, the
watermark information cannot be retrieved. Using a key is important because the
implementation itself is open source, and being able to read the watermark
message bits would allow an attacker to remove the watermark without degrading
the audio quality.
The different types of random data streams used for the distribution of the embedded watermark information are as follows:
The different types of random data streams used for the distribution of the embedded watermark information are as follows:
*
R1 - Used to randomizes Up/Down band shifts for watermark data bits.
*
R1 - Used to randomizes Up/Down band shifts for watermark data bits.
...
@@ -477,7 +487,7 @@ BlockDecoder [color=darkorchid3,shape=rect,label=< <table border="0" align="left
...
@@ -477,7 +487,7 @@ BlockDecoder [color=darkorchid3,shape=rect,label=< <table border="0" align="left
conv_decode_soft [color=green4,shape=rect,label=< <table border="0" align="left"><tr><td balign="left">
conv_decode_soft [color=green4,shape=rect,label=< <table border="0" align="left"><tr><td balign="left">
<b>Soft-Decision Decoder</b> <br/>
<b>Soft-Decision Decoder</b> <br/>
• Utilize Viterbi algorithm <br/>
• Utilize Viterbi algorithm <br/>
• Decode blocks of 858
parity
bits <br/>
• Decode blocks of 858
encoded
bits <br/>
• Reconstructs 128 payload bits <br/>
• Reconstructs 128 payload bits <br/>
• Uses 'Convolutional Code Parameters' <br/>
• Uses 'Convolutional Code Parameters' <br/>
• Decode A-, B- and AB-Blocks <br/>
• Decode A-, B- and AB-Blocks <br/>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment