Research article Special Issues

An IPVO-based reversible data hiding scheme using floating predictors

  • This work optimizes an improved high-fidelity reversible data hiding scheme of Peng et al. which is based on improved pixel-value-ordering (IPVO) and prediction-error expansion. In Peng et al.'s method, the difference between the maximum and second largest value (or, the minimum and second smallest value) of a block is defined considering the pixel locations of maximum and second the largest value (or, the pixel locations of minimum and second the smallest value). When the difference between the maximum and second largest value (or, the minimum and second smallest value) of a block is equal to 0 or 1, the block can be exploited to embed data. Otherwise, the block should be shifted or remain unchanged. However, different prediction-error used to embed information can lead to different histogram modification and different pixel shift rate, to further reduces the change in the carrier image. In this work, we list all the different prediction-error, which are used as the selection object for the embedded error when hiding information. As a prerequisite of meeting the demand of the embedding capacity, some appropriate prediction-errors are selected for embedding to reduce the number of the pixel shifted in the marked image as small as possible. An IPVO-based reversible data hiding scheme with floating predictor is also extended. Experimental results show that the proposed scheme yields a superior performance than the state-of-the-art works, under the condition of same embedding capacity, especially for relatively rough images.

    Citation: Rong Li, Xiangyang Li, Yan Xiong, An Jiang, David Lee. An IPVO-based reversible data hiding scheme using floating predictors[J]. Mathematical Biosciences and Engineering, 2019, 16(5): 5324-5345. doi: 10.3934/mbe.2019266

    Related Papers:

    [1] Xin Yun, Myung Hwan Chun . The impact of personalized recommendation on purchase intention under the background of big data. Big Data and Information Analytics, 2024, 8(0): 80-108. doi: 10.3934/bdia.2024005
    [2] Bill Huajian Yang . Modeling path-dependent state transitions by a recurrent neural network. Big Data and Information Analytics, 2022, 7(0): 1-12. doi: 10.3934/bdia.2022001
    [3] Antonio N. Bojanic . Accounting for the Trump factor in modeling the COVID-19 epidemic: the case of Louisiana. Big Data and Information Analytics, 2021, 6(0): 74-85. doi: 10.3934/bdia.2021006
    [4] Xing Tan, Giri Kumar Tayi .  CERTONTO: TOWARDS AN ONTOLOGICAL REPRESENTATION OF FAIR TRADE CERTIFICATION STANDARDS. Big Data and Information Analytics, 2017, 2(3&4): 255-264. doi: 10.3934/bdia.2017022
    [5] David E. Bernholdt, Mark R. Cianciosa, David L. Green, Kody J.H. Law, Alexander Litvinenko, Jin M. Park . Comparing theory based and higher-order reduced models for fusion simulation data. Big Data and Information Analytics, 2018, 3(2): 41-53. doi: 10.3934/bdia.2018006
    [6] Zhouchen Lin . A Review on Low-Rank Models in Data Analysis. Big Data and Information Analytics, 2016, 1(2): 139-161. doi: 10.3934/bdia.2016001
    [7] Xiaoying Chen, Chong Zhang, Zonglin Shi, Weidong Xiao . Spatio-temporal Keywords Queries in HBase. Big Data and Information Analytics, 2016, 1(1): 81-91. doi: 10.3934/bdia.2016.1.81
    [8] Dongyang Yang, Wei Xu . Statistical modeling on human microbiome sequencing data. Big Data and Information Analytics, 2019, 4(1): 1-12. doi: 10.3934/bdia.2019001
    [9] Weidong Bao, Wenhua Xiao, Haoran Ji, Chao Chen, Xiaomin Zhu, Jianhong Wu . Towards big data processing in clouds: An online cost-minimization approach. Big Data and Information Analytics, 2016, 1(1): 15-29. doi: 10.3934/bdia.2016.1.15
    [10] Tieliang Gong, Qian Zhao, Deyu Meng, Zongben Xu . Why Curriculum Learning & Self-paced Learning Work in Big/Noisy Data: A Theoretical Perspective. Big Data and Information Analytics, 2016, 1(1): 111-127. doi: 10.3934/bdia.2016.1.111
  • This work optimizes an improved high-fidelity reversible data hiding scheme of Peng et al. which is based on improved pixel-value-ordering (IPVO) and prediction-error expansion. In Peng et al.'s method, the difference between the maximum and second largest value (or, the minimum and second smallest value) of a block is defined considering the pixel locations of maximum and second the largest value (or, the pixel locations of minimum and second the smallest value). When the difference between the maximum and second largest value (or, the minimum and second smallest value) of a block is equal to 0 or 1, the block can be exploited to embed data. Otherwise, the block should be shifted or remain unchanged. However, different prediction-error used to embed information can lead to different histogram modification and different pixel shift rate, to further reduces the change in the carrier image. In this work, we list all the different prediction-error, which are used as the selection object for the embedded error when hiding information. As a prerequisite of meeting the demand of the embedding capacity, some appropriate prediction-errors are selected for embedding to reduce the number of the pixel shifted in the marked image as small as possible. An IPVO-based reversible data hiding scheme with floating predictor is also extended. Experimental results show that the proposed scheme yields a superior performance than the state-of-the-art works, under the condition of same embedding capacity, especially for relatively rough images.


    1. Introduction

    The Business Process Model and Notation (BPMN) [15] has been widely adopted in recent years as one of the standard languages for visual description of business processes. In particular BPMN has been extensively used in facilitating effective communication among technical experts, business users and other stakeholders within a work group, for business process design and implementation, or problem solving in business domains.

    BPMN however does not contain a formal semantics. Consequently, rigorously specifying dynamical behaviors of objects in a BPMN specified business process model can be challenging and error-prone. For critical systems (e.g., a medical process specified in BPMN), the existence of semantic ambiguities in these systems is costly from every perspective and thus should be eliminated as much as possible. For these reasons, in recent years, several efforts have been made to assign BPMN with formal semantics. Among them, [3] and [4] in particular proposed to map a BPMN model into a Petri net, which is a mathematical modeling language (although a Petri net can be graphical too) that has precise execution semantics. In addition, decades of research in Petri nets offers well-established theories to support analysis of dynamic properties in Petri-net specified systems. In [3] and [4], a given BPMN model is first dissected into several BPMN elements. For each type of the element, a mapping from the element to a Petri net module is proposed. After the dissection step and mapping step, these Petri nets modules are eventually integrated together to construct a single Petri net.

    In our previous work ([17], [18], [19]) meanwhile we presented a straightforward first-order-logic (FOL) based framework for Petri nets. More specifically, we have shown that: a) we can represent Petri nets and their variants as Situation-Calculus1 based action theories, and the theories for basic Petri nets are called in short as SCOPE, standing for Situation Calculus Ontology for PEtri nets ([17], [18]); b) given an instance of SCOPE theory, we could further build up Golog procedures2, where sequential, iterative, or nondeterministic composite sequences of transition firings in Petri nets and their variants can be further axiomatized through defining macros; these macros are built on top of more primitive procedures and the only basic action in the domain transition firing [19]; c) executability testing of Golog procedures via theorem-proving can be implemented through efficient logic programming in Prolog ([18], [19]).

    1The Situation Calculus ([10,16]) is a particular formal language for describing changes upon actions in dynamical domains.

    2In the Situation Calculus, a Golog procedure defines a complex action that is composed of basic actions.

    In this paper, we show that the mapping method as proposed in ([3] and [4]) can be naturally extended into SCOPE context. That is, using SCOPE, we can easily define a Petri net module, resulted from performing mapping on a BPMN object, as a Golog complex procedure. These Golog procedures act as interfaces encapsulating Petri net from being directly accessed by end users. Consequently, stakeholders can still work at BPMN level, while the model is enriched with a Petri-net specified formal semantics. Additionally, with these procedures, users can write more complicated user-defined BPMN procedures in a hierarchical way. Since a BPMN procedure can be further translated into Prolog programs [19], our approach support automated verification of important system dynamic properties, such as the executability of these procedures.

    The remainder of this paper is organized as follows. Section 2 provides introductory reviews to the key technologies employed in this paper. Enriched with an example, Section 3 is the core section that explains our approach. Conclusive remarks are presented in Section 4.


    2. Preliminaries

    In this section, we give a brief introduction to BPMN and Petri Nets. The method of mapping from BPMN onto Petri Nets as stated in Section 3 of [4] is then briefly reviewed. We also introduce here Situation Calculus/Golog and SCOPE.


    2.1. Petri nets & BPMN

    Business Process Model and Notation (BPMN) is a notational system for graphical specification of processes in business models. BPMN was developed and has been maintained by the Object Management Group (OMG) [15]. Control-flow related elements in BPMN are the focus of this paper and they include objects of events, tasks and gateways.

    An event denotes happening of something in a model and is represented as a circle. In particular, a start/end event signals the start/finish of a process. An activity denotes work to be done in a model and is represented as a rounded-corner rectangle. A task is an atomic activity. Gateways are diamond-shaped quadrilaterals and they denote different routing constructs. Among them, a fork gateway (AND-split) creates concurrent flows and a join gateway synchronises these flows. A decision gateway (XOR-split) selects exactly one flow from a set of them based on certain criteria (data or event) and a merge gateway (XOR-join) merges the alternative flows in the set into one flow. When the choice is non-unique, the pair of gateways OR-split and OR-join is applied instead. Graphically these BPMN objects are connected to each other by arrows. Figure 2 is an example BPMN-denoted business process (adapted from Fig. 13 (a) in [4]).

    Figure 2. An Order Process in BPMN.

    A Petri net (PN) [14] is a pair (N,M0), where N is a triple (P,T,F) such that P is a finite set of node elements called places, T is a finite set of node elements called transitions, F(P×T)(T×P) consists of ordered pairs, and M0 the initial marking, is a mapping in the form M:PN, indicating the initial assignment of a non-negative integer k to each place p in P. (In this case, we say that the place p is marked with k tokens.) A marking M for N in Petri net PN is defined as a vector (M(p1),,M(pm)), where p1,,pm is an enumeration of P and M(pi) tokens are assigned to node pi, for all i such that 1im. The same process, depicted in Figure 2 as a BPMN model, is presented as a Petri net in Figure 3.

    Figure 3. A Petri Net for the Order Process (Transformed from BPMN).

    The method of mapping a BPMN process into a Petri net introduced in [4] assumes that the BPMN process is in the first place "well-formed". A well-formed BPMN should satisfy several conditions (e.g., a start event has one outgoing flow and no incoming flow.). It is shown that a given BPMN process can always be transformed into a well-formed one ([1,9,25,26]). The mapping process by itself is straightforward and are summarized in Figure 1 (Several issues are identified and addressed accordingly in [4]; however they are not discussed here). In the figure, note that places in the Petri net modules/components are dashed, meaning that these places would act as connectors to link multiple components into a Petri net through mapping. As an example, the Petri net in Figure 3 is resulted from performing mapping on the BPMN model in Figure 2.

    Figure 1. Mapping tasks, events, and gateways onto Petri-net components (Fig. 3. in [4] is copied here).

    2.2. Situation Calculus & SCOPE

    The Situation Calculus is a logical language for representing actions and changes in a dynamical domain. It is first proposed by McCarthy and Hayes in 1969 [10]. The language L of Situation Calculus as stated by [16] is a second-order many-sorted language with equality. Any Situation Calculus-based action theory include: Fluent conditions, whose actual values can be updated from applications of relevant actions; Actions, applications of which will bring effects in term of changes of values of certain fluent conditions in a system. The initial situation is called S_0. Starting from S_0, the system evolves on a sequence of actions into its future situations. Golog is a logic programming language for description and execution of complex actions using domain-specific Situation Calculus primitive actions. It provides imperative programming constructs, including (1) a, a primitive action; (2) α;β, action α is followed by action β; (3) p?, test action on the condition p; (4) if p then α else β, conditionals; (5) α|β, nondeterministic choice of action α or action β; (6) (πx)α(x), nondeterministic choice of arguments; (7) α, nondeterministic iteration; and (8) Procedures. The semantics of Golog programs is defined on the abbreviation Do(δ,s1,do(a,s1)), which denotes that execution of Golog program δ in the situation s1 leads to do(a,s1)), an abbreviation to for the situation of performing a sequence of actions a=[α1,,αn1,αn] starting from s1, i.e., do(αn,do(αn1,,do(α1,s1))). The structure of δ is defined inductively through macro-expansions on the above eight constructs.

    The theory Dscope for Situation Calculus Ontology of PEtri nets (SCOPE) is first proposed in [17] and [18]. In Dscope, the only action is fire and the only fluent is Tkns.

    Primitive Action fire(t): the transition t fires.

    Fluent Tkns(p,s): the number of tokens at place p at situation s.

    Situation-Independent relations pre and post are introduced to specify the topology of a given Petri net.

    pre(m,n). Node m enters node n.

    post(m,n). Node n enters node m.

    pre(m,n)post(n,m).

    The Foundational Axioms Df (not listed here) characterize a generic situation tree for any Basic Action Theory (BAT) written in the Situation Calculus. Based on Df, the Primitive Action Precondition Axiom for primitive actions in Dscope

    (s,p,t)(Poss(fire(t),s)(pre(p,t)Tkns(p,s)1))

    defines the condition for a transition node t to fire legally. That is, the transition t is enabled to fire at situation s iff each place that enters the transition node t contains at least one token. The Successor State Axiom in Dscope defines the effects firing of a transition node would bring to the system.

    (s,p,a,n)(Tkns(p,do(a,s))=nγf(p,n,a,s)
    (Tkns(p,s)=n¬nγf(p,n,a,s))),

    where γf(p,n,a,s)def=γfe(p,n,a,s)γfl(p,n,a,s), referring to the two sets of firing actions that cause the number of tokens at place p on situation do(a,s) to be equal to n:

    γfe(p,n,a,s)def=(t)(pre(t,p)¬post(t,p)n=Tkns(p,s)+1a=fire(t)) (the number of tokens at place p at situation s is (n1), and a is an action of firing transition t, which enters p);

    γfl(p,n,a,s)def=(t)(pre(p,t)¬post(p,t)n=Tkns(p,s)1a=fire(t)) (the number of tokens at place p at situation s is (n+1), and a is an action of firing transition t, which leaves p);

    The above Successor State Axiom summarizes all conditions where the number of tokens at place p is n at situation do(a,s): n could be achieved by action a from situation s, or at situation s the number of tokens at p is already n and the action a that occurs in s will not change it to some other values. Note in particular that, aside from the accommodation of time, this axiom is the same as the one in Dscope, since introducing of inhibitor arc only changes the preconditions where a transition node is enabled to fire.

    As an example, we define Petri net in Figure 3 as a SCOPE theory. The axiomatic part of SCOPE, including Foundational Axioms, Precondition Axioms, and Successor State Axioms remain unchanged. We only need to specify the initial marking and the situation-independent, topological structure of the Petri-net in Figure 3. That is, the number of tokens at place P1 is 0. For any other place node, the number is zero: tkns(P1)=1, and tkns(Pi)=0 for 2i12. Place node P1 enters transition node T1, and T1 enters P2, etc.

    pre(P1,T1),pre(T1,P2),,pre(T11,P12).

    3. An ontological account of BPMN flow-control components

    This section includes two parts. We first specify formally the restrictions for well-formed BPMN processes, this would facilitate implementation of automated tools for evaluating formally whether a BPMN process is well-formed (using a FOL theorem prover for example). We then demonstrate how Petri nets modules for their corresponding BPMN objects can be formally described through carrying out further axiomatization on top of SCOPE.


    3.1. Well-formed BPMN process

    From Section 3 of [4], a well-formed BPMN process has to satisfy the following five criteria:

    1. a start event or an exception event has just one outgoing (sequence) flow but no incoming flow;

    2. an end event has just one incoming flow but no outgoing flow;

    3. activities and intermediate events have exactly one incoming flow and one outgoing flow;

    4. fork or decision gateways have one incoming flow and more than one outgoing flows; and

    5. join or merge gateways have one outgoing flow and more than one incoming flows.

    In this section, first-order axiomatization of these criteria are presented (assuming that objects in the domain are sorted in logical sense).

    startM(x) Message x starts.

    endM(x) Message x ends.

    (x,y)(pre(x,y)post(y,x)).

    (x)startE(x)start(x)startM(x).

    (x)(interE(x)message(x)timer(x)error(x)).

    (x)endE(x)(end(x)endM(x)).

    • A start/exception event has one outgoing flow and does not have incoming flow

    (x,y)(¬(pre(x,start(y))¬(pre(x,exception(y))),
    (y)((start(y)exception(y))((x)pre(y,x)
    ¬(x1,x2)(pre(y,x1)pre(y,x2)x1x2))).

    • An end event has one incoming flow and does not have outgoing flow

    (x,y)¬(pre(end(y),x)).
    (y)(end(y)((x)pre(x,y)
    ¬(x1,x2)(pre(x1,y)pre(x2,y)x1x2))).

    • An activity/intermediate-event has one and only one incoming flow and outgoing flow

    (y)((activity(y)interE(y))
    ((x)pre(y,x)¬(x1,x2)(pre(y,x1)pre(y,x2)x1x2))
    ((z)pre(z,y)¬(z1,z2)(pre(z1,y)pre(z2,y)z1z2))).

    • An gateway fork or decision has one incoming flow and more than one outgoing flows

    (y)((fork(y)decision(y))((x)pre(x,y)
    ¬(x1,x2)(pre(x1,y)pre(x2,y)x1x2))
    (x1,x2)(pre(y,x1)pre(y,x2)x1x2))).

    • An gateway join or merge has one outcoming flow and more than one ingoing flows

    (y)((join(y)merge(y))((x)pre(y,x)
    ¬(x1,x2)(pre(y,x1)pre(y,x2)x1x2))
    (x1,x2)(pre(x1,y)pre(x2,y)x1x2))).

    3.2. A theory of BPMN using SCOPE

    It is known from our previous work that, given a SCOPE theory, we can write SCOPE procedures through defining macros, where these macros are built on top of more primitive, existing procedures and the only basic action in the domain -transition node fire. With respect to the Petri net in Figure 3, we can define a set of simple SCOPE procedures. For example,

    proc checkCreditCardFirst

    fire(T1);fire(T2); fire(T4); fire(T6)

    endProc

    proc prepareAndShipProducts

    fire(T3);fire(T5); fire(T8)

    endProc

    The procedure checkCreditCardFirst sequentially fires the transition nodes T1, T2, T4 (the activity of checking credit card), T6. The procedure is executable from initial setting, as there is a token in P1, thus T1 is initially enabled to fire. However, firing of T4 has non-deterministic effects, the number of tokens in P6 is increased by one, which non-deterministically enables either T6 or T7 (but not both) to fire, reflecting the non-deterministic fact that the credit card can either be accepted or rejected.

    The procedure prepareAndShipProducts sequentially fires the transition nodes T3 (the activity of preparing products), T5 and T8 (the activity of shipping products). Note that, if procedure prepareAndShipProducts is executable, then each of these three transition nodes including T5 is executable. Nevertheless this means that the credit card must be accepted, otherwise T7, not T5, would be enabled to fire, so P7 would never receive a token and T5 can not be enabled to fire consequently.

    With two procedures: checkCreditCardFirst, and prepareAndShipProducts, we define below a new procedure called exampleExectutionOfAnOrder. The procedure first checks the validity of the credit card, if it is accepted; then the process starts to prepare and to ship products.

    proc exampleExectutionOfAnOrder

    checkCreditCardFirst;

    (πn)(tkns(P7,n)n=0) | prepareAndShipProduct

    endProc

    To this end, it is quite clear how methodologically we are able to axiomatize these BPMN flow-control components: we can simply define those Petri-net modules transformed from those BPMN objects, as illustrated in Figure 1, as SCOPE procedures.

    We start from axiomatizing a Petri-net module for the start object N in BPMN. Suppose in the module, place P1 enters transition T, which in turn enters P2. Accordingly we define a SCOPE procedure

    proc startEvent(N)

    [pre(P1,T)pre(T,P2)]?; fire(T)

    endProc

    That is, as long as the topological relationship is verified, T is suggested to fire in this procedure. In almost the same way, we can define procedures endEvent and task (definitions are skipped here).

    The definition of a procedure corresponding to a fork gate in BPMN involves one place node that enters (and multiple place nodes that leave) the transition node to be fired. Suppose that P1 enters T, and T in turn enters P2, , Pn, we have

    proc forkGate(N)

    [pre(P1,T)pre(T,P2)pre(T,Pn)]?; fire(T)

    endProc

    The definition of a procedure corresponding to a join gate in BPMN involves one place node that leaves (and multiple place nodes that enter) the transition node to be fired. Suppose P1 leaves T and P2, , Pn enter T, we have

    proc joinGate(N)

    [pre(P2,T)pre(Pn,T5)pre(T,P1)]?; fire(T5)

    endProc

    The definition of a procedure corresponding to a decision gate in BPMN involves one place node that enters at least one transition node, where each transition node in turn enters a place node. Suppose that P0 enters T1, , Tn, in turn, T1 enters P1, T2 enters P2, Tn enters Pn, we have

    proc decisionGate(N)

    [pre(P,T1)pre(P,Tn)pre(T1,P1)pre(Tn,Pn)]?

    ; [fire(T1) | |fire(Tn)]

    endProc

    The definition of a procedure corresponding to a merge gate in BPMN involves one place node that multiple transition nodes enter, where for each transition node there is a place node that enters the node. Suppose that T1, , Tn enters P, in addition, P1 enters T1, P2 enters T2, Pn enters Tn, we have

    proc mergeGate(N)

    [pre(T1,P)pre(Tn,P)pre(P1,T1)pre(Pn,Tn)]?

    ; [fire(T1) | |fire(Tn)]

    endProc


    3.3. The order process example

    This section includes an example of an order process (adapted from Fig. 13(a) in [4]). When an order request arrives from a customer, both tasks "CheckCreditCard" and "Prepare Products" are initialized. If the credit card is OK, the packed products would be shipped (the task "ShiProducts" is executed) and the process finishes. Alternatively, if the credit card fails, the process finishes directly. BPMN representation of the process is depicted in Fig. 2.

    The following sentences capture the topology of the Order Process Diagram.

    start(N1), pre(N1,N2), fork(N2), pre(N2,N3), pre(N2,N4),

    activity(N3), pre(N2,N3), pre(N3,N5), activity(N4),

    pre(N2,N4), pre(N4,N6), decision(N5), pre(N5,N8),

    pre(N5,N6), join(N6), pre(N6,N7), activity(N7),

    pre(N7,N8), merge(N8), pre(N8,N9), end(N9).

    The nine BPMN objects in Figure 2 are defined as the following SCOPE procedures.

    proc startEvent(N1)

    [pre(P1,T1)pre(T1,P2)]?; fire(T1)

    endProc

    proc forkGate(N2)

    [pre(P2,T2)pre(T2,P3)pre(T2,P4)]?; fire(T2)

    endProc

    proc task(N3)

    [pre(P3,T3)pre(T3,P5)]?; fire(T3)

    endProc

    proc task(N4)

    [pre(P4,T4)pre(T4,P6)]?; fire(T4)

    endProc

    proc decisionGate(N5)

    [pre(P6,T6)pre(P6,T7)pre(T6,P7)pre(T7,P9)]?

    ;

    fire(T6) | fire(T7)

    endProc

    proc joinGate(N6)

    [pre(P5,T5)pre(P7,T5)pre(T5,P8)]?; fire(T5)

    endProc

    proc task(N7)

    [pre(P8,T8)pre(T8,P10)]?; fire(T8)

    endProc

    proc mergeGate(N8)

    [pre(P9,T9)pre(P10,T10)pre(T10,P11)pre(T9,P11)]?

    ;

    fire(T9) | fire(T10)

    endProc

    proc endEvent(N9)

    [pre(P11,T11)pre(T11,P12)]?; fire(T11)

    endProc

    It is handy to create further user-defined new procedures through macro-actions, i.e., through hierarchically constructing more complex procedures from existing ones. For example, the following procedure presumably specifies all possible executions of the BPMN process as specified in Figure 2.

    proc orderProcess

    startEvent(N1);forkGate(N2);

    [task(N3);task(N4)]|[task(N4);task(N3)];

    decisionGate(N5);

    [joinGate(N6);task(N7);|;]; mergeGate(N8); endEvent(N9)

    endProc

    Feasibility/executability of procedure orderProcess could be evaluated via querying the theory with

    ?Do(orderProcess,S0,S),

    any instantiation of the situation variable S would correspond an execution from the initial situation S0. We can also work directly on the Petri-net resulted form mapping (Figure 3). We can run queries to test the resulted Petri-net markings from a given execution instance of orderProcess. It can be verified that for some situation Si, number of tokens in P5 is one, indicating that the order process might complete improperly: since the credit card is rejected, the order process is discarded. The products are already prepared to be shipped, though shipping will never happen in this case.


    4. Conclusive remarks

    This paper proposes to axiomatize the Petri nets modules, resulted from transforming BPMN objects, as SCOPE-based procedures. In fact, the impressive feature of high adaptability and extensibility is shared by all Situation-Calculus-based Basic Action Theories including SCOPE. In a similar way, we recently used SCOPE to aggregate event patterns in Supply Chain Management [21], and to mitigate adverse interaction analysis for concurrent application of clinical practise guidelines for comorbid patients [11,20]. Ongoing approaches using directly first-order logic for integrating medical treatments to manage multimorbidity include [11,27,12,13,22]. Formal process knowledge representation and reasoning might also find its applicability in combining probabilistic graphical models to build up frameworks and systems in areas for example information retrieval [23,24].

    Our previous research ([18] and [19]) indicates that we can easily implement software tools using logic programming language Prolog [2]. Further, we might consider adopting tractable variant to Situation Calculus (for example, a sequence of research on the topic proposed in [6,7,5] is quite interesting and relevant) so an actual implementation became practically feasible. Given the rapid development of first-order theorem proving technologies in the recent years, theorem provers have recently been used to support reasoning in ontologies [8]. As part of our initiative, we plan to adapt theorem proving technologies for process ontologies like SCOPE theories.

    Finally, we remark that our approach is able to incorporate processes specified with temporal constraints, since in our previous research reported in [19], a variant to SCOPE which axiomatize Time Petri-nets are presented.


    Acknowledgments

    We are thankful to the insightful reviews we have received to improve both the content and presentation of the paper. We gratefully acknowledge the support by NSERC (Natural Sciences and Engineering Research Council of Canada) CREATE (Collaborative Research and Training Experience Program) award in ADERSIM (Advanced Disaster, Emergency and Rapid-response Simulation)3, ORF-RE (Ontario Research Fund -Research Excellence)4 award in BRAIN Alliance5, Dapasoft Inc. in Toronto, ON, Canada6, and the York Research Chairs Program.

    3http://www.yorku.ca/adersim/NSERC/

    4https://www.ontario.ca/page/ontario-research-fund-research-excellence

    5http://www.brainalliance.ca/

    6http://dapasoft.com/


    The first and third authors are supported by NSERC CREATE ADERSIM


    [1] J. Fridrich. M. Goljan and R. Du, Lossless data embedding-new paradigm in digital watermarking, EURASIP J. Adv. Signal Process., 2 (2002), 185–196.
    [2] M. U. Celik, G. Sharma and A. M. Tekalp, Lossless generalized-LSB data embedding, IEEE Transact. Image Process., 14 (2005), 253–266.
    [3] J. Tian, Reversible data embedding using a difference expansion, IEEE Transact. Circuit. Syst. Video Technol., 13 (2003), 890–896.
    [4] A. M. Alattar, Reversible watermark using the difference expansion of a generalized integer transform, IEEE Transact. Image Process., 13 (2004), 1147–1156.
    [5] Z. Ni, Y.Q. Shi and N. Snsari, Reversible data hiding, IEEE Transact. Circuit. Syst. Video Technol., 16 (2006), 354–362.
    [6] C. Kim, Content-based image copy detection, Signal Process. Image Commun., 18 (2003), 169 –184.
    [7] S. K. Lee, Y. H. Suh and Y. S. Ho, Reversible image authentication based on water-marking, Process IEEE ICME, (2006), 1321–1324.
    [8] X. Li, B. Li and B. Yang, General framework to histogram-shifting-based reversible data hiding, IEEE Transact. Image Process., 23 (2013), 2181–2191.
    [9] D. M. Thodi and J. J. Rodrigues, Expansion embedding techniques for reversible watermarking, IEEE Transact. Image Process., 16 (2007), 721–730.
    [10] D. M. Thodi and J. J. Rodrigues, Reversible watermarking by prediction-error expansion, IEEE Southwest Symposium on Image Analysis & Interpretation IEEE, (2004), 21–25.
    [11] H. W. Tseng and C. P. Hsieh, Prediction-based reversible data hiding, Inform. Sci., 179 (2009), 2460–2469.
    [12] C. F. Lee, H. L. Chen and H. K. Tso, Embedding capacity raising in reversible data hiding based on prediction of difference expansion, J. Syst. Software, 83(2010), 1864–1872.
    [13] Q. Shen, G. Liu and W. Liu, Adaptive image steganography based on pixel selection, 2015 IEEE International Conference on Progress in Informatics & Computing, 2016.
    [14] Y. Hu, H. K. Lee and J. Li, De-based reversible data hiding with improved overflow location map, IEEE Transact. Circuits Syst. Video Technol., 19 (2009), 250–260.
    [15] X. Li, B. Yang and T. Zeng, Efficient reversible watermarking based on adaptive prediction-error expansion and pixel selection, IEEE Transact. Image Process., 20 (2011), 3524–3533.
    [16] D. Coltuc, Improved embedding for prediction-based reversible watermarking, IEEE Transact. Inform. Forens. Secur., 6 (2011), 873–882.
    [17] D. Coltuc, Low distortion transform for reversible watermarking, IEEE Transact. Image Process., 21 (2012), 412–417.
    [18] X. Li, J. Li and B. Li, High-fidelity reversible data hiding scheme based on pixel-value-ordering and prediction-error expansion, Signal Process., 93(2013), 198–205.
    [19] B. Ou, X. Li and Y. Zhao, Reversible data hiding using invariant pixel value ordering and prediction-error expansion, Signal Process., 29 (2013), 760–772.
    [20] X. Qu and H. J. Kim, Pixel-based pixel value ordering predictor for high-fidelity reversible data hiding, Signal Process., 111(2015), 249–260.
    [21] F. Peng, X. Li and B. Yang, Improved PVO-based reversible data hiding, Digital Signal Process., 25 (2014), 255–265.
    [22] P. Subitha and V. Vaithiyanathan, Novel reversible pixel-value-ordering technique for secret concealment, Indian J. Sci. Technol., 8 (2015), 628–636.
    [23] K. H. Jung, A high-capacity reversible data hiding scheme based on sorting and prediction in digital images, Mult. Tools Appl., 76(2017), 13127–13137.
    [24] W. He, G. Xiong and S. Weng, Reversible data hiding using multi-pass pixel value ordering and prediction-error expansion, Inform. Sci., 467(2018), 784–799.
    [25] Y. Du, Z. X. Yin and X. P. Zhang, Improved lossless data hiding for jpeg images based on histogram modification, Comput. Mater. Cont., 55(2018), 495–507.
    [26] X. T. Duan, H. X. Song and C. Qin, Coverless steganography for digital images based on a generative model, Comput. Mater. Cont., 55(2018), 483–493.
    [27] L. Z. Xiong and Y. Q. Shi, On the privacy-preserving outsourcing scheme of reversible data hiding over encrypted image data in cloud computing, Comput. Mater. Cont., 55(2018), 523–539.
    [28] M. J. Weinberger, G. Seroussi and G. Sapiro, The LOCO-I lossless image compression algorithm: Principles and standardization into JPEG-LS, IEEE Transact. Image Process., 9 (2000), 1309–1324.
    [29] X. Wu and N. Memon, Context-based, adaptive, lossless image coding, IEEE Transact. Commun., 45 (1997), 437–444.
    [30] V. Sachnev, H. J. Kim and J. Nam, Reversible watermarking algorithm using sorting and prediction, IEEE Transact. Circuit. Syst. Video Technol., 19 (2009), 989–999.
  • Reader Comments
  • © 2019 the Author(s), licensee AIMS Press. This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/4.0)
通讯作者: 陈斌, bchen63@163.com
  • 1. 

    沈阳化工大学材料科学与工程学院 沈阳 110142

  1. 本站搜索
  2. 百度学术搜索
  3. 万方数据库搜索
  4. CNKI搜索

Metrics

Article views(5050) PDF downloads(495) Cited by(2)

Article outline

Figures and Tables

Figures(12)  /  Tables(9)

/

DownLoad:  Full-Size Img  PowerPoint
Return
Return

Catalog