Call Today 716.688.4675

JPSEC Tools

There are two classes of JPSEC tools normative and non-normative. The normative are defined with the protection method templates specified in the tool syntax. Non-normative tools are also called JPSEC Registration Authority (RA) tools or JPSEC User-Defined Tools and are registered with the RA or are provided by the user. The non-normative can use the normative templates or can define there own as appropriate. The tools are used to implement security functions. JPSEC is designed as an open framework in order to make it easily extensible. Current tools concentrate on these security services:

  • Confidentiality using encryption and selective encryption
  • Integrity Verification
    1. Image Data Integrity (Fragile Image Verification) – even one error causes verification failure
    2. Image Content Integrity (Semi-Fragile Image Verification) – even some incidental alteration of the image data still results in a successful verification as long as visually (perceptually) the image is unchanged
  • Source Authentication
  • Conditional Access
  • Registered Content Identifier
  • Secure Scalable Streaming and Secure Transcoding

JPSEC tools are specified in the syntax of the SEC marker. The basic tool syntax is shown in Figure 1. The syntax is interpreted differently depending on whether the tool is normative or non-normative. Table 1 shows how the syntax is interpreted for each class of tool (nt = number of tools).

JPSEC Tool Syntex

Table 1: JPSEC Tool Parameter Values

Parameter Normative Size (bits) Non-Normative Size (bits) Normative Values Non-Normative Values Description
t 8 x0xx xxxxb x1xx xxxxb Tool instance index (can be used as a unique identifier)
i 8 + 8 * nt 0…(27+7*nt – 2)
(27+7*nt – 1) is reserved
Length of Marker Segment in Bytes
ID 8 Variable see Table 2 see Figure 3 Identification value for the JPSEC tool
LZOI 16 + 8 * nt 0…215+7*nt Length of ZOI in bytes
ZOI Variable Variable Zone of Influence for the JPSEC tool
LPID 16 + 8 * nt 0…215+7*nt Length of PID in bytes
PID Variable see Figure 2 and Table 3 Managed by RA or User Parameters for JPSEC tool

JPSEC normative tools are based on protection method templates defined in the standard. The tool identifier ID is used to identify which template is used (see Table 2). Figure 2 shows the parameters (PID) syntax for normative tools with the description of each field in Table 3.

Table 2: Normative Tool Template ID Values

Value Protection Method Template
0 Reserved
1 Decryption Template
2 Authentication Template
3 Hash Template
4 NULL Tool
All other values are reserved for ISO use

 

Parameter Syntax for Normative Tools

JPSEC normative tools are based on protection method templates defined in the standard. The tool identifier ID is used to identify which template is used (see Table 2). Figure 2 shows the parameters (PID) syntax for normative tools with the description of each field in Table 3.

Table 3: Normative Tool Parameter Values

Parameter Size (bits) Values Description
TID Variable, if t=0 and ID=1 see Decryption Template Template parameters for normative tool with template identifier ID
Variable, if t=0 and ID=2 see Authentication Template
16, if t=0 and ID=3 see Hash Template
0, if t=0 and ID=4 NA
Unknown, if t=0 and ID=0 or ID>4 Reserved
PD Variable see below Processing Domain for normative tool
G 24 see below Granularity for normative tool
V Variable see below Value list for normative tool dependent on template identifier ID

The Processing Domain (PD) is used to describe the domain the JPSEC tool is applied. There are four possible domains
and depending on the domain a few specifics related to the field parameters. The four domains are:

  • Pixel Domain
  • Wavelet Coefficient Domain
  • Quantized Wavelet Coefficient Domain
  • Codestream Domain

If the Wavelet Coefficient Domain or the Quantized Wavelet Coefficient Domain are where the JPSEC tool is being applied it can either be applied on the sign bit or the most significant bit. When the Codestream Domain is where the tool is being applied it can either be applied on both the packet header and body or just on the packet body.

The Granularity (G) indicates the unit of protection for each method by specifying the order the elements are processed along with granularity level. There are a total of twelve granularity levels.

  1.   Tile
  2.   Tile-part
  3.   Component
  4.   Resolution Level
  5.   Layer
  6.   Precinct
  7.   Packet
  8.   Sub-band
  9.   Code-block
  10.   Total area identified by Zone of Influence (ZOI)
  11.   Item identified in non-image-related ZOI
  12.   Zone identified in non-image-related ZOI

The Value List (VL) field specifies values that change as the tool is applied and the granularity of the change. Values specified include keys, Initialization Vectors (IV), MAC values, Digital Signatures (DS), and hash values. The Zone of Influence (ZOI) is used describes the coverage are of the JPSEC tool, referred to as the influenced data.

JPSEC non-normative tools have the flexibility of either using some of the pre-defined structures in the JPSEC normative tools or defining there own as needed. There are two classes of non-normative tools

  1. JPSEC Registration Authority (RA) Tools – the signaling for these tools is specified using the RA
  2. JPSEC User-Defined Tools – the signaling for these tools is specified by the application/user

These classes of tools use a 32-bit ID value to show if it is a RA tool (0x0000 0000 to 0x7FFF FFFF), user defined
tool (0x8000 0000 to 0xEFFF FFFF) or reserved (0xF000 0000 to 0xFFFF FFFF). The ID value also has a name space
parameter that specifies the name space of the specification. The PID field is not fully defined in these
instances in the standard. If the tool is an RA tool then the RA defines the PID and if a user tool then
it is defined by the user.

Further information available here:

JPSEC Standards available here:

VOCAL Technologies, Ltd.
520 Lee Entrance, Suite 202
Amherst New York 14228
Phone: +1-716-688-4675
Fax: +1-716-639-0713
Email: sales@vocal.com