2014Information Hiding Based on Block Match Coding for Vector Quantization-Compressed Images
- 格式:pdf
- 大小:5.36 MB
- 文档页数:12
评阅教师得分四川大学期末考试试题(闭卷)(2014~2015学年第1学期)课程号: 311078040 课程名称:软件工程导论(A卷)任课教师:洪玫,刘东权,李旭伟等适用专业年级:软件工程 2013级学号:姓名:2. 请将答案全部填写在本试题纸上;3. 考试结束,请将试题纸、添卷纸和草稿纸一并交给监考老师。
✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍一、单项选择题(本大题共20小题,每小题1分,共20分)提示:在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在下表中。
错选、多选或未选均无分。
1. Software is the collection of ( ).(A) Programs(B) Data(C) Documents(D) All of above2.Which of the items listed below is not one of the software engineering layers? ( )(A) Process(B) Methods(C) Tools(D) Manufacturing3.The prototyping model of software development is ( ).(A) A reasonable approach when requirements are well defined.(B) The best approach to use for projects with large development teams.(C) A useful approach when a customer cannot define requirements clearly.注:试题字迹务必清晰,书写工整。
本题共11页,本页为第1页(D) A risky model that rarely produces a meaningful product.4. The linear sequential model of software development is also known as the ( ).(A) Prototyping model(B) Waterfall model(C) Fountain model(D) Spiral model5.Which one of the following phases is not one of the phase names defined by the Unified Process model for software development? ( )(A) Inception phase(B) V alidation phase(C) Elaboration phase(D) Construction phase6. The spiral model of software development ( )(A) Ends with the delivery of the software product(B) Includes project risks evaluation during each iteration(C) Is more chaotic than the incremental model(D) All of the above7. The Capability Maturity Model Integration (CMMI) is used to measure ( )(A) the quality of the product(B) quality in the context of the business environment(C) the quality of the process(D) none of the above8. Analysis models depict software in which three representations? ( )(A) information, function, behavior(B) architecture, interface, component(C) cost, risk, schedule(D) None of the above9. Software engineers collaborate with customers to define which of the following? ( )(A) Customer visible usage scenarios(B) Important software features(C) System inputs and outputs(D) All of the above10. Views are “slices”of architecture. Which view focuses on structural issues? ( )(A) Logical(B) Use-case(C) Process(D) Implementation11. The Data Flow Diagram(DFD) ( ).(A) depicts relationships between data objects(B) depicts functions that transform the data flow(C) indicates how data are transformed by the system(D) both b and c12. The entity relationship diagram ( )(A) depicts functions that transform the data flow(B) depicts relationships between data objects(C) indicates how data are transformed by the system(D) indicates system reactions to external events13. Which one of the following items is not an element of a class definition? ( )(A) Class responsibilities(B) Class attribution(C) Class name(D) Class operations14. The importance of software design can be summarized in a single word: ( )(A) accuracy(B) quality(C) complexity(D) efficiency15. Polymorphism can be described as? ( )(A) Inheritance(B) Information(C) Placing Generalization(D) one interface encapsulates different implementations16. Which one of the following is not an area of concern in the design model? ( )(A) architecture(B) project scope(C) data(D) interfaces17. In component design, elaboration does not require which of the following elements to bedescribed in detail? ( )(A) Attributes(B) Source code(C) Interfaces(D) Operations18. What is the normal order of activities in which traditional software testing is organized? ( )(A) unit testing, integration testing, validation testing, system testing(B) integration testing, unit testing, system testing, validation testing(C) validation testing, unit testing, integration testing, system testing(D) system testing, validation testing, integration testing, unit testing评阅教师得分19. Which of the following tests is a system test that forces the software to fail in a variety of ways and verifies that software is able to continue execution without interruption? ( )(A) security testing (B) performance testing (C) recovery testing (D) stress testing20. The testing technique that requires devising test cases to demonstrate that each program function is operational is called? ( )(A) glass-box testing (B) black-box testing (C) grey-box testing (D) white-box testing二、名词解释题(本大题共5小题,每小题2分,共10分)。
网络谣言危害的看法及措施英语作文全文共6篇示例,供读者参考篇1The Dangers of Online Rumors and What We Can Do About ThemHi everyone! My name is Emma, and I'm 10 years old. Today, I want to talk to you about something that's been on my mind a lot lately – online rumors and how harmful they can be.You might be wondering, "What's the big deal about rumors? Aren't they just silly stories that people make up?" Well, let me tell you, online rumors can be a lot more serious than you think, especially in today's world where we're all so connected through the internet and social media.Have you ever heard a rumor about someone at school, and then it spread like wildfire, and everyone was talking about it? It's kind of like that, but on a much bigger scale. Imagine if a rumor about your favorite celebrity or a famous person was spread all over the internet. Even if it's not true, it can still hurt them and damage their reputation.Online rumors can also be used to spread false information about important topics like politics, health, or even emergencies. This can lead to people believing things that aren't true and making bad decisions based on those beliefs.One of the biggest dangers of online rumors is that they can cause panic and fear. Remember when there was a rumor going around about a dangerous virus spreading in our town? A lot of people got really scared, even though the rumor turned out to be completely false. False rumors can also lead to people being bullied or harassed online, which is never okay.So, what can we do about online rumors? Well, here are a few tips:Don't spread rumors!This one seems pretty obvious, but it's so important. If you hear a rumor, don't share it with others or post it online. Even if you think it might be true, it's better to be safe than sorry.Check your sources.Before believing something you see online, make sure to check where the information is coming from. Is it a reliable source, like a news website or a government agency? Or is it justsomeone's random post on social media? Always be skeptical of information that doesn't have a credible source.Think before you share.Even if you're not the one who started the rumor, sharing it online can help it spread even further. Ask yourself, "Is this information true? Is it harmful to anyone? Do I really need to share this?" If the answer to any of those questions is "yes," it's probably best not to share it.Report harmful rumors.If you see a rumor online that's particularly harmful or dangerous, you can report it to the website or social media platform where you saw it. Most sites have rules against spreading false information or harassment, and they can take action to remove the rumor or block the person spreading it.Educate yourself and others.Learn how to spot fake news and online rumors, and share that knowledge with your friends and family. The more people who know how to identify and avoid spreading false information, the better.Remember, online rumors can be really harmful, but we all have the power to stop them from spreading. By beingresponsible online citizens and looking out for each other, we can make the internet a safer and more truthful place.So, the next time you hear a rumor, think twice before believing it or sharing it. Instead, let's focus on spreading kindness, positivity, and accurate information. Together, we can make a difference and put an end to the dangers of online rumors.篇2The Perils of Online Rumors and How to Tackle ThemHi there, friends! Today, I want to talk to you about something that's been bothering me a lot lately – online rumors. You know, those silly stories or fake news that spread like wildfire on the internet? Yeah, those pesky things can be really harmful, and we need to do something about them.Let me give you an example. Remember when our classmate, Johnny, missed school for a week because he was sick? Well, some kids started whispering that he had caught asuper-contagious disease, and soon enough, the rumor spread like a bushfire on our class group chat. Kids were panicking, and some even told their parents not to let them come to school!Turns out, Johnny just had a bad case of the flu, and everything was blown way out of proportion.You see, that's the thing with online rumors – they can start from something small and innocent, but before you know it, they've spiraled into something huge and scary. And the worst part? They're not always easy to spot or stop.I know what you're thinking – "But why should we care? It's just a silly rumor, right?" Wrong! Online rumors can have serious consequences, and they can hurt people's feelings, reputations, and even their safety.Imagine if someone started a rumor about you, saying you did something really mean or bad when you didn't. How would you feel? Sad, angry, and maybe even scared, right? That's not fair at all, and it's why we need to be extra careful about what we share online.But it's not just about the emotional toll; online rumors can also cause real-life problems. Remember when that fake story about a new virus outbreak went viral last year? It caused a lot of panic and even led to some people stockpiling unnecessary supplies, which made it harder for those who really needed them to get what they needed.Scary, right? That's why it's so important for us to be smart and responsible when it comes to what we share online. We need to think twice before hitting that "share" button and make sure the information we're spreading is accurate and trustworthy.So, how can we do that? Well, here are a few tips:Check the source: Before you share or believe something you see online, make sure it's coming from a trusted and reliable source, like a reputable news outlet or official government website. If it's just a random social media post or blog, be extra cautious!Look for evidence: If something sounds too crazy or outrageous to be true, it probably is. Ask yourself if there's any solid evidence or facts to back up the claim. If not, it's likely just a rumor or hoax.Think before you share: Take a moment to pause and really think about what you're about to share. Is it helpful, truthful, and necessary? If not, it's better to keep it to yourself.Fact-check: There are some really cool websites and tools out there that can help you verify if something is true or false. Ask your parents or teachers to help you find reliablefact-checking resources.Speak up: If you see someone spreading a rumor or false information, don't be afraid to kindly call them out on it. Explain why it's important to share accurate information and offer to help them fact-check.But wait, there's more! We can also take steps to create a more positive and truthful online environment. How, you ask? By being kind, respectful, and spreading more good vibes!Instead of sharing negative or harmful rumors, why not share something positive and uplifting? Share a funny meme that will make your friends laugh, or a cool article about an inspiring person or event. Spread more love and positivity, and the online world will be a much better place.Remember, we all have a role to play in making the internet a safer and more trustworthy space. It's up to us to be responsible digital citizens and to stand up against online rumors and misinformation.So, the next time you see a suspicious or sketchy post online, think twice before sharing it. Take a deep breath, do somefact-checking, and make sure you're not contributing to the spread of harmful rumors. Together, we can create a kinder, more truthful online world – one share at a time!What do you think, friends? Are you with me in this fight against online rumors? Let's make a pact to be more mindful and responsible when it comes to what we share and believe online. It's the least we can do to make the internet a better place for everyone.So, let's spread more kindness, more positivity, and more truth – because that's what the world needs more of, both online and offline. Who's with me? Let's do this!篇3The Scary World of Online RumorsHi there! My name is Tommy, and I'm a 5th grader at Oakwood Elementary School. I love playing video games, hanging out with my friends, and learning about the world around me. But there's one thing that really scares me - online rumors!You've probably heard of rumors before. They're those silly stories that get passed around, like how Jennifer from class cheated on the math test, or how the school lunch lady puts boogers in the mashed potatoes (gross!). While some rumors are just funny and harmless, others can be really mean and hurtful.And when those nasty rumors spread online, they can become super dangerous!Why Online Rumors Are So ScarySee, the internet is this massive place where anyone can say anything they want, true or not. And once a rumor gets posted online, it can spread like wildfire, getting shared millions of times before anyone has a chance to stop it. Pretty crazy, right?Online rumors are extra scary because:They're permanent. Unlike when you whisper a rumor on the playground and it goes away, anything posted online stays there forever for everyone to see.They're spread globally. In the past, rumors were confined to our little school or town. But online? They get seen by people all over the world in an instant!They're often anonymous. A lot of nasty rumors get spread by people hiding behind fake profiles or usernames, making it hard to track down the real culprit.They're hard to stop. By the time a rumor is identified as false or harmful, it may have already been viewed and believed by millions online.The Dangers of Online RumorsSo why should we care about online rumors? Well, for starters, they can massively hurt people's feelings and reputations. I've seen kids get bullied so badly over false gossip spread online that they had to change schools. Not cool!But online rumors don't just emotionally damage individuals - they can cause serious real-world consequences too. Like when a rumor spread that a celebrity was diagnosed with a super-rare illness...which turned out to be completely made up. Imagine how much panic and misinformation that caused people!Sometimes, folks with not-so-pure intentions deliberately start online rumor campaigns to mislead people for their own benefit. Businesses have been forced to shut down after damaging boycott rumors. Politicians have been elected into power by their supporters spreading "fake news" online about their opponents. Entire communities have been divided because people believed inflammatory posts on social media that turned out to be total lies.Frankly, online rumors are a big stinkin' mess! They hurt innocent people, spread misinformation, and generally just make the world a more confusing, dishonest place.What We Can Do About ItOkay, so now the million-dollar question - how can we put a stop to these nasty online rumors once and for all? Unfortunately, there's no perfect solution since new ones keep popping up all the time. But there are some good practices we can all follow:Be a Skeptical Surfer. Whenever you see a juicy rumor or unbelievable piece of gossip online, don't immediately assume it's true. Ask yourself: does this make sense? What proof is there? Who is sharing this information and why?Rely on Trusted Sources. Instead of getting information from random people on social media, go straight to official sources you know you can trust, like government websites, medical journals, or mainstream reputable news outlets.Fact-Check Before Sharing. If you're tempted to share a shocking rumor you saw online, wait! Do some extra research from trusted sources first to verify if it's actually true before spreading it further.Call Out Misinformation. If you spot a rumor or piece of misinformation being spread online, speak up! Politely comment with facts and sources correcting the false claims. Every person who adds their voice makes a difference.Be a Positivity Promoter. More than anything, we need to promote more positivity and truth online. Share uplifting stories, educational content, and factual information from credible sources. Spread more light to drown out the darkness of rumors and misinformation.Together, We've Got This!It's going to take hard work from all of us to combat the massive problem of online misinformation and rumors. But person by person, fact by fact, we can slowly make the internet a more truthful, trustworthy place.So let's all make a pinky promise to be super skeptical about what we see online, rely only on official trusted sources, and promote more positivity to drown out the darkness of nasty rumors. If we work together, we can make the online world a better, more honest place for everyone!Thanks for reading, and remember - question everything, think critically, and don't feed the rumor mill! Talk to you later!Your pal,Tommy篇4The Scary World of Online RumorsThe internet is a really cool place where you can learn about almost anything and connect with friends near and far. But there's also a dark side to the online world – the spread of rumors and misinformation. These untrue stories can cause a lot of harm and make people worried or upset over things that aren't real.What Are Rumors?A rumor is a story or piece of information that gets passed around, but hasn't been proven to be true. Some rumors start as jokes or made-up stories that people share without realizing they aren't factual. Other times, rumors get spread on purpose to trick people or cause trouble.Why Are Online Rumors Dangerous?Rumors that spread online can be super harmful for a few reasons:They spread really quickly and can reach tons of people through social media, messaging apps, and websites before the truth gets out there.People often believe them and make decisions based on the misinformation in the rumor. This can lead to things like:Wasting money on fake products or schemesMissing out on important opportunitiesAvoiding places or activities because of unwarranted fearBullying or mistreating others based on untrue stories about themRumors can make people really anxious, sad, or scared about things that aren't actually problematic or risky. This is terrible for their mental health.When people trust and spread misinformation, it makes it harder for everyone to separate fact from fiction online. We need truthful information to make good choices!Some Super Scary Online Rumor ExamplesHere are some examples of viral online rumors that caused a lot of chaos and fear before they were debunked:• The Momo Challenge - A few years ago, rumors spread that there was a scary WhatsApp "game" that encouraged kids to hurt themselves or others. It turned out to be a total hoax, but caused worldwide panic among parents.• COVID Vaccine Myths - During the pandemic, many false rumors circulated about COVID vaccines being dangerous orused to track people. This bad information made some folks avoid protecting themselves.• The Jade Egg Story - A silly rumor claimed that kids were smuggling jade eggs into schools and could become massively wealthy from them. This obviously wasn't true, but it encouraged some children to trade and get scammed.Those are just a few examples, but you can find many more crazy online rumor stories with a quick search. The pattern is they all start false, spread like wildfire, and cause real issues before being shut down as fake news.What Can We Do About Online Rumors?The good news is, we're not powerless against online misinformation! Here are some tips for recognizing and stopping the spread of rumors:Be a Skeptical Surfer - Don't believe every story or piece of information you see online, especially if it seems really outrageous or is trying to make you angry or afraid. Check if it's from a reputable, well-known source before putting stock in it.Reverse Image Search - If a rumor is going around based on a picture or screenshot, you can do a reverse image search to see if it has popped up elsewhere and is being used out of context.Ask Fact-Checkers - Lots of respected organizations have fact-checking websites or social media accounts where you can ask them to verify if a claim is accurate or not. Don't spread it further until you know it's legit!Go to Official Sources - For important topics like health, finance, and safety information, get information directly from official government, scientific, or other expert sources rather than second-hand.Call It Out - If you see friends or family spreading a rumor online, politely let them know it hasn't been proven truthful. Having the courage to fact-check each other is important.Don't Get Baited - Sometimes people or companies spread false information on purpose to get attention or make money. Don't take篇5The Scary World of Online RumorsHi there! My name is Amanda and I'm 10 years old. I love playing outside, reading books, and using the internet to learn new things. But there's something really scary on the internet that I want to tell you about - online rumors!What are Online Rumors?Online rumors are stories or pieces of information that spread quickly online, but aren't true. They can be about anything - celebrities, products, events, you name it! Sometimes people start these rumors as jokes, but other times it's to trick people on purpose.Why Online Rumors are BadOnline rumors might seem harmless at first, but they can actually be really dangerous and hurt a lot of people. Here are some reasons why they're bad:They spread lies and misinformation. When people believe rumors, they start thinking something false is real. This can make them do or say things that aren't right.They can damage people's reputations. If a mean rumor spreads about someone, others might start treating that person badly even though they didn't do anything wrong!They make people distrustful. When you see lots of fake stories online, you might start doubting if anything on the internet is true. That's no fun!They can promote bad behaviors. Some online rumors encourage bullying, hate speech, or even illegal activities like vandalism.They waste time and energy. People spend so much time arguing about whether a rumor is real instead of doing more productive things.My Experience with a Online RumorLast year, a weird rumor started at my school that our janitor Mr. Evans was actually a superhero in disguise! Some kids insisted they saw him stop a robbery one night and use cool powers. Pretty crazy, right?At first it was just a funny joke between friends. But then the rumor got shared online and lots more people started believing it was real. Some kids wouldn't listen to Mr. Evans anymore because they thought he was going to leap out of the window if they misbehaved!Eventually, the principal had to spend a whole assembly just explaining that Mr. Evans is a regular person without any special abilities. What a weird situation that got out of hand!How to Spot Online RumorsSo how can you tell if something you read online is a real fact or just a silly rumor? Here are some tips:Check if it's from a reliable website or source you trust, like a well-known news outletLook for proper citations and evidence backing up the claimsSee if other credible sites are reporting the same informationBe doubtful of anything shocking or outrageous with no proofMessages that try to make you feel strong emotions like fear or anger could be rumorsWhat We Can Do About Online RumorsNow you know why online rumors are a serious problem. But don't worry, there are things we can all do to help stop them!Don't share or spread rumors, even as a joke. That only gives them more life.Correct misinformation whenever you see it online by commenting with facts and reliable sources.Report any harmful rumors you come across to parents, teachers, website admins, etc.Think critically about what you read online and don't believe everything at face value.Help educate others about spotting and avoiding online rumor pitfalls.If we're all careful information consumers and румор monitors, we can make the internet a safer, more truthful place. After all, the internet should be for learning and having fun, not falling for silly fibs!I hope this essay helped teach you about the dangers of online rumors and why we need to do our part to stop them. Let's work together to get rid of those yucky rumors once and for all! The truth will always win in the end.篇6The Danger of Online Rumors and How to Stop ThemThe internet is a really cool place where we can learn new things, play games, and talk to our friends. But there's also something not so nice that happens online - the spread of rumors. Rumors are stories or information that might not be true, but people share them like they are. Online rumors can spreadsuper quickly and reach lots of people before anyone realizes the information isn't accurate.I've seen some crazy rumors shared on social media and messaging apps that my parents and teachers warned me about. Like that rumor that said a popular juice brand put chemicals in their drinks that would make kids sick. Or the one claiming that a singer was actually an alien in disguise! Those are obviously not true, but some people really believed them at first.Online rumors can be harmful in several ways. First, they can really upset and scare people for no good reason if the rumor is about something dangerous or tragic. I remember being pretty frightened by a rumor that went around saying there was a shooter at our school until my parents assured me it wasn't true.Rumors can also damage someone's reputation unfairly if the story is about them doing something bad or embarrassing. That's cyber-bullying, and it can really hurt someone's feelings. Celebrities and public figures often get targeted by mean online rumors.Sometimes online rumors are created and spread on purpose to confuse people or cause trouble. These are called disinformation. But a lot of times, people just share rumorswithout checking if they are factual because the stories sound so unbelievable or outrageous. That's how misinformation spreads.No matter whether online rumors start from bad intentions or carelessness, they can end up being harmful. So we need to be really careful about what information we choose to believe and share on the internet. Here are some tips I've learned for stopping the spread of online rumors:Be a fact checker! Before sharing any stories or links, verify they came from a trustworthy source like respected news outlets or official websites. If it's just a message from a random person, think twice.If something sounds way too crazy or bizarre to be true, it probably isn't. Use logic and critical thinking. Would a celebrity really have been caught on camera committing a crime without the media reporting it everywhere?Check credible websites that bust internet hoaxes and rumors, like . These are great for confirming whether that viral story circulating is "fact or fake."When you do come across obvious misinformation or an online rumor, don't share it further. You can even call it outpublicly as being false information to stop others from spreading it.Get your news and information from reliable media sources, not random posts on social media or messaging apps where rumors can thrive.Think about why the rumor might have been created in the first place. Was it meant to get attention, hurt someone's reputation, cause public panic, or push a certain agenda? Understanding the motives can help identify misinformation.Encourage your friends, family, and online contacts not to spread unverified information and rumors further. We all need to work together to reduce online misinformation.It's ok if we get tricked by a rumor at first, before learning the facts. But once we realize information is false or inaccurate, we have a responsibility not to keep spreading it. By developing healthycynicism about the crazy stories and claims we encounter online and taking steps to verify information, we can become smarter consumers of online content.I hope more people learn to identify online rumors and stop them from spreading out of control. It's not very nice to scare people or ruin someone's image by sharing false informationabout them. Plus, misinformation and rumors make it hard to know what's really going on in the world. Let's all do our part to make the internet a safer, more honest place by not giving rumormills anymore fuel!。
2023年6月Electric Power Information and Communication Technology Jun. 2023 中图分类号:TN915.853文献标志码:A文章编号:2095-641X(2023)06-015-09DOI:10.16543/j.2095-641x.electric.power.ict.2023.06.03著录格式:杨会峰,陈连栋,程凯,等.支持个性化隐私保护的异步联邦窃电检测方法[J].电力信息与通信技术,2023,21(6):15-23.支持个性化隐私保护的异步联邦窃电检测方法杨会峰1,陈连栋1,程凯1,王乃玉2,李轩2,关志涛2(1.国网河北省电力有限公司信息通信分公司,河北省石家庄市050021;2.华北电力大学控制与计算机工程学院,北京市昌平区102206)An Asynchronous Federated Learning Electricity Theft Detection Method forPersonalized Privacy-preservingYANG Huifeng1, CHEN Liandong1, CHENG Kai1, WANG Naiyu2, LI Xuan2, GUAN Zhitao2(1. Information and Communication Branch, State Grid Hebei Electric Power Co., Ltd., Shijiazhuang 050021, Hebei Province, China;2. School of Control and Computer Engineering, North China Electric Power University, Changping District, Beijing 102206, China)摘要:窃电现象是新型电力系统所面临的重大挑战之一,当前主流的基于深度学习的窃电检测方法在数据集中处理过程中存在隐私泄露的风险,而本地数据处理又会因为样本数量不足导致模型泛化性较差。
Information HidingDavid M. Weiss“... program structure should be such as to anticipate its adaptations and modifications. Our program should not only reflect (by structure) our understanding of it, but it should also be clear from its structure what sort of adaptations can be catered for smoothly. Thank goodness the two requirements go hand in hand.”- Edsger DijkstraIntroductionInformation hiding is an idea that’s often cited as the foundation of modern software design methods. Many developers practice it in some form, either intuitively and unable to say exactly what they are doing or how they do it, or knowingly and systematically. This paper is intended for software designers, developers, and managers who agree with the objectives of information hiding, but who may have difficulty giving a precise statement of the information hiding principle, or saying exactly how they applied the information hiding principle in their designs and code, or articulating the benefits and risks of applying the principle. For the architect/designer who is wondering how to create a design that results in software that is easy to change, easy to understand, and easy to verify one piece at a time, this paper provides some thoughts and guidance on how information hiding can help. It also serves as an introduction for those who have heard the term information hiding, but have never had a clear idea of exactly what it means. Information hiding was first codified by David L. Parnas in the early 1970s. The original descriptions of the idea and its applications that he and his colleagues published are still among the best available. For those wishing more details, I suggest perusing section 2 of [1.], which contains many of the original papers on the subject.Modules Can Manage Complexity, Ease Verification, and Aid DigestionAs good designers know, a good modularization makes a system easier to explain, to understand, to maintain, to test, to review, and to verify in other ways. The rule is simple: divide and conquer. A module that can be changed independently of other modules most likely - can be understood with as little reference as possible to other modules,- can be tested with as little reference as possible to other modules,- can be reviewed with as little reference as possible to other modules.This discussion is primarily concerned with information hiding modularizations. Just identifying decisions to be hidden and designing a set of information hiding modules, is, of course, far from the complete work that a software architect must do. The modules must be organized in a way that makes it easy to identify modules of interest when changes are proposed, potential uses among them must be defined so that the system can be built and extended incrementally, and other structures must be created to help determine performance and other characteristics of the system. However, the information hiding structure is the key to managing system complexity. The goal of designers and implementers is to make it possible to understand and verify the internal structure of an information hiding module without considering the implementation details of other modules. Achieving this goal simplifies verification and makes software easier to understand and change.Hide The DecisionsThe principle of information hiding states that independently-changeable information should be hidden in independently-changeable modules. Such hiding is often known as encapsulation. Information that’s hidden, or encapsulated, can be characterized as a decision, e.g., how data is represented, how a device is monitored or controlled, or how (and sometimes when) a particular output is produced or event is signalled. The decision that’s hidden by the module is often known as the secret of the module, despite the uneasy feelings that the terminology sometimes produces. For example, it is common in today’s systems to hide the details of how to control a device, such as a disk, so that most of the software that uses the disk does not need to know such details. The decision that’s hidden is the particular set of instructions that are used to control the disk, e.g., the instructions used to read from and write to it.The decisions that we hide become easy to change; that’s a primary reason for hiding them. Nonetheless, other modules in the system must be able to take advantage of a hidden decision; they must know of its existence and be able to use services based on it. A module that encapsulates a decision must offer a way for the module’s users to take advantage of it, that is, the module must reveal some aspects of the decision and hide others. We may say that the module creates an abstraction that it provides to its users.Be An Abstraction ArtistInformation hiding and abstraction go hand-in-hand. An abstraction is a many-to-one mapping, where the “many” is the ways in which the module’s hidden decision may be implemented. The common part of the abstraction, i.e., the “one,” is the interface that the module offers to its users, which we will call an abstract interface, since it both abstracts away from the hidden decision and it embodies the abstraction that the module provides.Files are a commonly-used abstraction in today’s operating systems. There are many possible ways to allocate the file to storage and to encode the data in the file for storage purposes. The programs that use the file system need only use a simple, uniform abstraction for a file, usually consisting of some unique identifier for it.The designer of an information hiding module must be an abstraction artist, for the abstraction revealed by the module may be known and used throughout the system, and choosing the right set of abstractions is a balancing act among changeability, performance, reuse, and other factors. A good abstraction conveys just the concept and facilities that its users need. Abstraction removes information in the service of usability, reusability, changeability, etc. Removing too much information can be as deadly as revealing too much information. Abstraction taken too far removes the benefit.For example, if we have an abstraction called "I/O Storage Device" wouldn't it be even better to have an abstraction called "Device" instead? Of course not. The artist must decide where to draw the line.The programmers of the rest of the system depend on an abstraction not to change. Through all the possible ways that the hidden decision may be realized, the abstraction stays the same, fencing in its secret. The only way that other modules can take advantage of the hidden decision is by using the abstraction. As a result, developers are freed to work on different modules independently of each other; all they need to know are the interfaces to other modules whose abstractions they use.To be effective, abstractions must be honored throughout the lifetime of the system; they must be carefully designed early, and implemented and later maintained consistent with their design. The abstraction is honored so long as those who use it need not know its secret and those who maintain it do not reveal its secret. We cannot expect an abstraction to remain fixed forever, but we can expect it to change slowly and gracefully over time. (Its implementation, however, may change quite often.) A well-designed abstraction, such as the file abstraction, may be so useful that it is reused many times over in many different systems.A well-chosen set of abstractions makes for a system that is maintainable and understandable. In software, as elsewhere, good fences make good neighbors, and good secrets make good abstractions.Services Keep The SecretWe want the secret of a module to be known only to the module’s implementers. The module must offer facilities and services to its users that allow them to make use of the module’s secret without knowing what it is. These facilities and services are the embodiment of the module’s abstraction. For example, a module whose secret is how to control a device may provide services that allow its users to read and write to the device without their knowing what commands are issued to the device in what order. The module provides a software abstraction for the hardware device, sometimes known as a virtual device. All access to the device should be funneled through the abstraction. The users only know the effects of the services that they request of the module, e.g., if they request that data be read from the device, then the effect is that a block of data is returned to them.For file systems offered by an operating system such as Unix, modules that use a file need not know on what device the file is stored or how it is represented on the device. The same abstraction is provided to the human user as well. The file system itself uses virtual devices provided as abstractions by device driver modules. The availability of virtual devices makes it easy to create file abstractions. We build one abstraction using another, allowing us also to build our system in stages, each independently testable.Developers whose work assignment is module A may need to use the services of module B to implement A. In doing so, they should not know B’s secret and they also should not reveal A’s secret. It is crucial for the developers of a module to keep its secret hidden and still provide needed services to users of the module. If they do a good job in hiding the secret, then the secret can be changed without having to change other modules, i.e., the modules will be independently changeable with respect to their secrets.As an example, if an algorithm requires data that are stored on a device, then it is usually useful to be able to change the algorithm without regard to how the device is controlled. In that way, either algorithm or device can be changed without affecting the other. Rather than intermingling the code for the two, we have created two abstractions, one of which uses the other. When both need to be changed, e.g., because data can be made available in larger chunks with new devices, then one can be changed without having to know how the other is being changed.Modules Are Work AssignmentsBecause the tasks of designing and implementing a module are so closely related to how well information is hidden, we will use “module” to mean a work assignment for a developer or a team of developers. An information hiding module is a work assignment that requires some decision to be hidden, i.e., to be made independently changeable of other decisions. We will say that adecision has been hidden successfully if it can be revised without requiring a change to other work assignments, e.g., we can substitute one device for another without having to change the algorithm that uses the data that are stored on the device. Note also that the work assignment requires the construction of an abstraction that fences in the hidden decision. This abstraction becomes embodied in the interface that the module provides to its users.A key ingredient in hiding information successfully is predicting what decisions should be made easy to change, i.e., in being a good oracle. Good oracles are generally made, not born. They are developers who notice a pattern in the changes that occur over time, either through their own experience, or through studying the history of a system, or studying technology, marketplaces, and users’ needs. They know that decisions are hidden not just because technology will change, or because user’s needs may change, but also because a well-chosen set of abstractions helps to manage the complexity of a system. It makes the system easier to explain, to maintain, to understand, to test, to review, and to verify in other ways. Quality improves and time and effort to make a change decreases. A module whose secret has been successfully hidden may exist for years in a system, undergoing many implementation changes, but few changes in the services that it offers.Unfortunately, human oracles are imperfect. What’s important is to be clear about the predictions that you make and their reliability. Being explicit about predictions so that all may take advantage of them is likely to improve the structure of your software even if your predictions are sometimes wrong.For a module to remain successful, the developers who make changes to it must understand what its hidden decision is and must keep the decision hidden. They must strive to change the services offered by the module as little as possible over time, since each change to the services will require changes in other modules that use the service. A successful module may be changed by many different developers over its lifetime. All must respect its secret for the module to remain successful. For that reason, designers need to make explicit what’s hidden and what’s not when designing an information hiding modular structure and when designing the services that each module in the structure provides.Interfaces Are AssumptionsThe services that an information hiding module provides to its users must be carefully designed not to reveal the secret of the module. The designer of the services must be sure that the users can make no inferences about the module’s secrets from the behavior of the services. We may think of the services as the realization of the set of assumptions that the users of the module can make about the module. We call this set of assumptions the interface to the module. Recall that we call it an abstract interface to emphasize that it abstracts away from the secret of the module and that it is the embodiment of the abstraction that the module provides.Because the interface is the set of assumptions that the users of a module’s services may make about the module, the interface includes more than just the syntax of the services. For example, it is not sufficient to say that the interface to the device consists of READ, WRITE, and STATUS commands, with associated parameters. The designer of the interface must also state assumptions such as a WRITE to a location on the device followed by a READ from the same location returns the data that was written, provided that no other WRITE operations have been performed in theintervening period.1 Note that this example is not intended to be complete, but only to indicate what we mean by assumptions.2The assumptions that form the interface to a module may be embodied in a variety of mechanisms, such as methods or procedures that a user may call, messages and signals that a module may send or receive, or macros that a user may include in his or her own program. For example, a READ operation on a device may be implemented as a procedure call at run-time, or it might be implemented as an inline expansion at compile-time into a sequence of instructions so that performance is optimized. Indeed, for different situations in the same set of code there may be different implementations, e.g., sometimes inline, sometimes as a procedure call.Because the abstract interface provided by a module is the only way that its users can access the services provided by the module, it is important that the interface is unlikely to change. Changes to the interface will potentially cause changes in all modules that use the services. A wise designer crafts the interface carefully, making sure that the assumptions that characterize the interface, and the syntax that it offers to its users, are reviewed and used by a small group of users before releasing them to a wide audience.Because humans are imperfect oracles, it is inevitable that some interfaces will change. However, careful planning and design can reduce the frequency and impact of such changes For modules where the oracular vision may be somewhat cloudy, it may be well to prototype the module and its interface, or to restrict its use, or to plan for changes in the interface, until the vision becomes clearer.Form May VaryBecause of the variety of mechanisms for implementing the interface to a module, a module’s implementation may take a number of different forms. A frequent view of information hiding modules is that they are a set of programs and a set of data structures that are shared by those programs, e.g., a class and its methods. No matter the form, a module’s developers must keep their work assignment in mind: to hide the secret appropriately. To help make this clearer, we present the following different formulations of information hiding modules, each with its own characterization of the work assignment, the abstract interface that the module’s public sees, here denoted as the public interface, and the secret of the module. In every case, we assume that the public interface includes the specifications that define the behavior of the interface, i.e. an explicit description of the assumptions that define the interface.1. A set of programs and shared data.Work Assignment: Design and implement the programs and the data structures that they share. Public Interface: The subset of the module’s programs that are visible, forming an abstract interface for the module’s users. The programs may include data types, signals, exceptions, and other devices that the implementers employ to reflect the assumptions that the module’s users are allowed to make about the module.1 Prose is often a clumsy way to specify such assumptions. It is often simpler to use a notation such asWRITE(x,n)°READ(n) returns x,where x is the data written and n is the location to which it is written. This paper will not further discuss such notations, which have had frequent discussion in the literature.2 For example, we have not taken into consideration assumptions about device failure, about the amount of time it takes to complete an operation, and others.Secret: How the programs are implemented, what the internal representation of the data is, and what internal programs are needed as part of the implementation.2. An abstract interface and its implementation.Work assignment: Design and implement the interface. The interface is abstract in that there are many possible implementations of it.Public Interface: A set of programs that provide the services offered by the module to its users. The programs may include data types, signals, exceptions, and other devices that the implementers employ to reflect the assumptions that the module’s users are allowed to make about the module.Secret: What programs and data structures are hidden behind the interface and how they are implemented.3. A state machine.Work assignment: Implement the state transition function of the state machine.Public Interface: Typically, a set of programs that provide ways to read the state of the module and to cause the module to transition from one state to another.Secret: How the state transition function is implemented, i.e., what programs and data structures are used to implement it4. A class.Work assignment: Design and implement the public and private methods and the data structures needed to implement the module.Public Interface: The public methods and data of the class.Secret: How the methods are implemented, what the private methods are, and what data structures are used by the methods but do not appear in the interface.5. An abstract data typeWork assignment: Design and implement the data structure used to hold the data for variables of the type, and the operations that may be performed on the data.Public Interface: The operations that may be performed on the data type, including functions that read and change the value of the data.Secret: What the representation of the data structure is and how the operations are implemented. Note: Because abstract data types were often and early used as an example of information hiding, the idea was sometimes, inadequately, called data hiding.6. An abstraction.Work assignment: Design and implement instances of the many-to-one mapping that constitutes the abstraction.Public Interface: The range of the many-to-one mapping, i.e., those programs and data that embody the services offered by the abstraction to its users. One may think of these as the common parts of the abstraction.Secret: How the details of the mapping are implemented so that the common parts of the abstraction remain fixed for different instances.7. A collection of macros and preprocessor directivesWork assignment: Design and implement the macros and directives.Public Interface: The set of macros and directives that the developers of other modules may use. Secret: How the macros are implemented.Architects/Designers Are The Primary Decision Makers, Implementers Are The DefaultIt is important to note that any realization of a system embodies a set of decisions. Using the information hiding principle as a design aid forces you to make explicit what decisions are hidden and what are not. Furthermore, you must make many of the key decisions explicit early in the development process, and you must make explicit which decisions can be deferred. Decisions that are not made early by the architect/designer are made later by the implementer. If you are the architect/designer, the choice of who makes the decision is yours. Note that you may play different roles during development, sometimes acting as architect, sometimes acting as implementer. Nonetheless, the time at which you make decisions has a strong effect on what you can do in your different roles, and in how later roles, such as maintainer, are constrained.Note also that when observing the system operate, it may be impossible to know how the system is organized around those decisions, when they were made, or who made them, i.e., an information hiding design may look no different at run time then another form of design. Pressure For Progress Is RelentlessIn the face of pressure to produce quickly the next release or the great new next product, it is easy to cut corners, abandon design principles, and plunge into coding. When this happens, the decisions about changeability, assumptions, abstraction, and interfaces are made during implementation, often by those who have only local views of software structures. The result is often poor quality (implementers are incorrectly informed about decisions in other parts of the code that affect their own code) and difficulty in making changes after release. Similarly, panic in the face of poor system performance can lead to sacrificing all other considerations. Early attention to a design that considers the need for future changes, including those that allow performance tuning, and that considers how abstraction can be used to overcome complexity, pays dividends at implementation time, test time, and maintenance time.Finding Abstractions Is Engineering And ArtDeciding what information to reveal and what secrets to conceal is a difficult balancing act. Unmaintainability, poor performance, low quality or some combination thereof may all be consequences of poor choices. (Other characteristics may suffer as well.) Overmodularization, i.e., creating too many small modules, may lead to performance problems and unmaintainability, because of the overhead involved in invoking operations on the modules’s interfaces and because decisions may have been divided inappropriately. Undermodularization, i.e., creating a few large modules, may lead to unmaintainability because too many decisions are intermixed within each module. These are the same problems associated with finding a good set of abstractions, as discussed earlier.Finding a good set of abstractions is part engineering, part art. We have some heuristics and systematic approaches to guide us, but no cut and dried methods. All require creativity, invention, and taste. The better methods increase our chances for success in the endeavor. SummaryInformation hiding is a software design principle that states that independently-changeable information should be hidden (or encapsulated) in independently-changeable modules. Information that’s hidden can be characterized as a decision and is often known as the secret of the module. Conversely, information that’s revealed is used to create an interface that allows the module’s users to take advantage of its secret without knowing what the secret is. Examples oftypical secrets are how data are represented, how algorithms are implemented, how devices are controlled, how (and sometimes when) a particular output is produced or event is signaled, how state machines are implemented, how the mechanisms used for synchronizing processes are implemented, and how message queues are implemented.Information hiding and abstraction go hand-in-hand. Each module that hides a decision creates an abstraction that’s usable by the rest of the system. Such an abstraction is a many-to-one mapping, where the “many” is the ways in which the module’s hidden decision may be implemented. The common part of the abstraction, i.e., the “one,” is the abstract interface that the module offers to its users.Finding a good set of abstractions is part engineering and part art. Information hiding can be used in a systematic way to help find good abstractions, thereby encouraging developers to be creative in ways that lead to high quality designs.Decisions about what is likely to change and what is likely to stay fixed in a software system should be made explicit. Decisions about changeability and abstraction that the architects and designers do not make are left to the implementers to make.Modules are work assignments for individual developers or small teams of developers. The work assignment associated with a module is to implement the module’s changeable decision so that it is hidden from the users of the module. The module provides its services through an abstract interface that lets its users take advantage of the hidden decision without knowing how the decision has been made. For information hiding to succeed, all access to the module’s facilities must be through the abstract interface, i.e., the abstract interface provides a fence around the module.Designers who use information hiding organize a system around two kinds of changes: those deemed likely and those deemed unlikely. The likely kind we try to make easy by creating secrets of modules that we can associate with changes. The unlikely kind are manifested in interfaces to modules. As Dijkstra pointed out, structuring the software to anticipate its adaptations and modifications also means structuring it to be understood. It should be clear from the structure what sort of adaptations can be catered for smoothly. Better understanding leads to better estimation of time and effort to make changes and to better quality.Information hiding modules may take a variety of forms, and modules may execute at a variety of times, such as compile time, load time, and run time. For example, a module may be a set of macros or pre-processor directives that operate at compile time, or it may be an object in an object-oriented design that executes at run time. No matter the form, an information hiding module is an abstraction.The risks of an information-hiding modularization are the following.• Poor prediction of likely changes will result in a system that needs to be changed often and that is difficult to change.• Performance may require extra attention because of the overhead required always to use abstract interfaces to access the services of modules.The benefits of a good information-hiding modularization are the following.• Complexity is easier to manage.• The resulting system is easier to understand and to explain, both to customers and to developers new to it.• The resulting system is changeable and maintainable.• The difficulty of making a particular change is predictable.• Modules may be reviewed and tested independently of each other.• Integration testing is easy, and identifying the module that contains a defect that causes a failure is easy.Information hiding is a tool designed to make the job of a an architect/designer easier when trying to achieve these benefits.“Everything should be as simple as possible, but no simpler.”- A. EinsteinAcknowledgementsSpecial thanks to Jon Bentley and Neil Harrison for the time and thought they put into reviews of earlier versions. ,Birgit Geppert, Neil Harrison, Audris Mockus, Frank Roessler, and Phil Wadler also all made helpful comments on earlier drafts of this paper.References[1.] Hoffman, D, and Weiss, D (eds), Software Fundamentals: Collected Papers of David L.Parnas, Addison Wesley Longman, April, 2001。
英语作文扺制网络负能量全文共6篇示例,供读者参考篇1The Internet: A Playground Full of Fun and DangersThe internet is an amazing place! It's like a huge playground where you can play all sorts of games, watch funny videos, and learn new things. But just like a real playground, there are also some dangers lurking around if we're not careful.One of the biggest dangers on the internet is something called "negative influence." That's when people say or do mean things that can make others feel bad, sad, or even scared. It's like having a bully at the playground who keeps pushing you around and calling you names.I've seen some of my friends get really upset because of negative comments they've received online. Sometimes, people can be really cruel and say hurtful things without even thinking about how it might make the other person feel. It's like they're hiding behind a mask and feel like they can say whatever they want without any consequences.But the truth is, words can hurt just as much online as they do in real life. Imagine if someone came up to you at the playground and started calling you names or making fun of the way you look or talk. That would feel really awful, right? Well, it's the same thing when it happens online.The thing about negative influence on the internet is that it can spread really quickly. If someone posts something mean or hurtful, it can be seen by a lot of people in a matter of seconds. And sometimes, other people join in and start saying mean things too, creating a big pile-on of negativity.It's like having a whole group of bullies at the playground, all ganging up on one person. That's not just mean; it's downright scary! No one should have to deal with that kind of thing, whether it's online or in real life.But the good news is, we can all do our part to stop negative influence from spreading on the internet. It's kind of like being a playground monitor, but instead of watching out for kids who are breaking the rules, we're watching out for people who are being mean or spreading negativity.One of the most important things we can do is to be kind and respectful to others online. That means never saying anything mean or hurtful, even if we're just joking around. It'sbetter to be safe than sorry, because you never know how your words might affect someone else.If we see someone else being negative or bullying others, we shouldn't join in or encourage it. Instead, we should speak up and tell them that it's not okay to treat others that way. It's like standing up for the kid who's being bullied at the playground and telling the bullies to stop.We can also report any negative or hurtful posts or messages to the website or app that they're on. Most websites and apps have rules against bullying and harassment, and they can take action to remove the negative content or even block the person who posted it.It's also important to remember that the internet is a big place, and there are lots of positive and uplifting things to focus on instead of the negative stuff. If we come across something that makes us feel bad or uncomfortable, we can just close it and move on to something else.There are so many amazing things we can do online, like learning about new topics, connecting with friends and family, or even creating our own content and sharing it with the world. It's like having a whole playground full of fun activities and games to choose from.But just like at a real playground, we have to be careful and watch out for any dangers or bullies. By being kind, respectful, and standing up against negativity, we can all work together to make the internet a safer and more positive place for everyone.So the next time you're online, remember to spread kindness and positivity instead of negativity. After all, the internet is supposed to be a fun and exciting place, just like a playground. And who wants to hang out at a playground full of bullies and mean kids? Not me!Let's all do our part to keep the internet a happy and welcoming place for everyone to enjoy. Together, we can curb negative influence and make the online world a better, brighter place.篇2Certainly! Here is an essay of around 2000 words on "Combating Online Negativity" written from the perspective of an elementary school student:Combating Online NegativityHi there! My name is Alex, and I'm a 10-year-old student who loves to learn new things every day. Today, I want to talk toyou about something that's been on my mind a lot lately – online negativity.You see, the internet is an amazing place where we can learn, play games, watch videos, and connect with people from all around the world. But sometimes, it can also be a place where people say and do mean things that can hurt others' feelings. This is what we call "online negativity."Online negativity can take many forms. It can be bullying, where someone intentionally says or does hurtful things to another person over and over again. It can be hate speech, where people use language that discriminates against others based on their race, religion, gender, or other characteristics. It can also be the spread of false information or rumors, which can be really confusing and scary.I've seen online negativity happen to some of my friends and classmates, and it's not a good feeling. Sometimes, people say really mean things in the comments section of videos or social media posts. Other times, they might send hurtful messages or even create fake accounts to bully someone. It's all really sad and makes me wish that everyone could just be kind to each other.But here's the thing – we can do something about online negativity! We can work together to make the internet a saferand more positive place for everyone. Here are some tips that I've learned:Be Kind Online: Just like in real life, it's important to treat others with kindness and respect when you're online. Before you post something, ask yourself: "Would I say this to someone's face?" If the answer is no, then it's probably best not to post it.Stand Up to Bullies: If you see someone being bullied or targeted with hate speech online, don't be a bystander. Report the behavior to the appropriate authorities or website moderators. You can also show your support for the person being targeted by leaving a kind comment or message.Be Careful with Personal Information: It's important to protect your privacy and personal information online. Don't share things like your address, phone number, or school name with people you don't know. Also, be careful about sharing too many personal details or photos that could be used to identify you.Check Your Sources: Not everything you read online is true! Before you share or believe something, make sure it comes from a reliable and trustworthy source. If something seems too crazy or unbelievable, it's probably best to double-check the facts.Take a Break: Sometimes, spending too much time online can be overwhelming or stressful, especially if you're exposed to a lot of negativity. It's okay to take a break and do something else for a while, like reading a book, playing outside, or spending time with friends and family.I know that it can be really hard to deal with online negativity, especially when you're just a kid like me. But I also know that we have the power to make a difference. By being kind, standing up for others, protecting our privacy, fact-checking information, and taking breaks when we need to, we can create a more positive and welcoming online environment for everyone.Remember, the internet is a big and wonderful place, but it's up to all of us to make it a safe and happy space. Let's work together to spread more kindness, understanding, and positivity online!Thank you for reading my essay. I hope it has inspired you to be a force for good in the online world, just like I'm trying to be. Together, we can combat online negativity and make the internet a better place for all!篇3Staying Positive Online: A Kid's GuideThe internet is a big place, filled with tons of awesome videos, games, and facts about every topic you can imagine. But it can also be a place where people say mean things and spread negativity. As kids who love going online, it's important for us to know how to avoid negativity and keep the internet a positive, fun space.What is Online Negativity?Online negativity refers to all the bad stuff people post on the internet. This includes:• Hate comments that bully or put others down• Fake stories or "fake news" intended to mislead people• Videos or memes making fun of certain people or groups• Posts that encourage violence, crime or dangerous behavior• Accounts dedicated to sending threats or harassmentBasically, if someone is using the internet to be mean, spread lies, or encourage bad things, that's negativity. And it can make the online world a not-so-nice place if there's too much of it.Why is it Bad?Negativity online is bad for a few reasons. First, it hurts people's feelings. Imagine how you'd feel if someone posted something cruel about you for everyone to see! It can make people feel sad, angry, or afraid. Secondly, it spreads misinformation and misunderstanding between people. Fake news and hate can make people distrustful of one another. Finally, extreme negativity like threats and encouragements of violence or crime are illegal and dangerous!For kids, being exposed to too much negativity can be confusing, scary and discouraging. We should be able to explore awesome websites, games and videos without having to worry about seeing something mean or inappropriate. The internet should be a positive place for learning and fun!How to Control ItSo what can we do to limit online negativity and keep it a happy place? Here are some tips:Be a Positive Role ModelThe most important thing is to lead by example. Don't engage in negativity yourself by posting mean comments or spreading fake stories and misinformation. Use the internet to share positive, factual, uplifting things instead. Complimentothers, post about your hobbies and interests, and share things that make you smile. Your positive energy will rub off!Report and BlockIf you see something negative like harassment, threats or inappropriate content, report it to the website or app moderators right away. You can also block and unfollow accounts that are being mean or negative. Don't try to retaliate or argue - just report and block.Be CriticalNot everything you read online is true! Use legitfact-checking sites to verify stories before believing or sharing them. Be critical of extreme negativity or exaggerated posts that seem intended to make people angry or scared.Take BreaksIf you're feeling overwhelmed by too much negativity, take a break from that space online for a while. Log off and go play outside, read a book, or spend time with family. Let your mind rest before going back online.Choose PositiveYou have a choice over what you see online to a big degree! Fill your feeds and subscriptions with positive YouTubers, social media accounts, websites and games that you enjoy and that make you happy. There's too much good stuff out there to waste time on the negative.Talk About ItIf you see something online that's really mean, upsetting or disturbing, don't keep it to yourself. Talk to a parent, teacher or trusted friend about what you saw and how it made you feel. They can help you process it in a healthy way.Building a Positive Online WorldAt the end of the day, the internet is what we make it. Every person who goes online has a choice to contribute to negativity or positivity. I hope we can all choose to be positive voices sharing good things online!If we work together to combat negativity - by verifying truth, reporting harassment, blocking bullies, and leading with kindness ourselves - we can create awesome online spaces filled with light. We can make the internet motivational, educational, and flat-out fun again!Who's with me? Let's make the internet a more positive place for kids like us. Leave those negative comments behind, replace misinformation with truth, and spread more joy online. The future of the internet is in our hands!篇4Title: Keeping the Internet a Happy PlaceThe internet is an amazing place where we can learn new things, play games, and talk to our friends and family. But sometimes, there are people who say mean things or do bad things online, and that can make the internet not so fun anymore. That's why it's important for all of us to do our part in keeping the internet a happy and safe place.One of the biggest problems on the internet is cyberbullying. Cyberbullying is when someone is mean or hurtful to someone else through the internet, like sending them mean messages or posting embarrassing pictures or videos of them online. This can really hurt someone's feelings and make them feel sad, scared, or angry. I know how awful it feels to be bullied, and I would never want anyone to go through that.Another problem is people sharing things that aren't true or that are meant to trick others. Sometimes, people make upstories or share fake pictures or videos just to get attention or to try to make others believe something that isn't real. This can be really confusing and can make it hard to know what's true and what's not.There are also people who say really mean or hateful things about others because of their race, religion, or other things that make them different. This is called hate speech, and it's never okay to say those kinds of things to anyone. Everyone deserves to be treated with kindness and respect, no matter what they look like or what they believe in.So, what can we do to help stop these negative things from happening online? Here are some tips:Be kind and respectful to others. Before you post or send something, think about how it might make someone else feel. If it could hurt their feelings or make them feel bad, it's better not to say it.Don't share or spread things that you know aren't true. If you're not sure if something is real or not, it's best to ask a trusted adult or do some research before sharing it.Report any bullying, hate speech, or other bad behavior you see online. Most websites and apps have ways to report thesethings, and it's important to let the people in charge know when something isn't right.Be careful about what personal information you share online. Don't give out your full name, address, phone number, or other private details to people you don't know and trust.Talk to a trusted adult if you ever feel upset, scared, or uncomfortable because of something you saw or experienced online. They can help you and make sure you're safe.Take breaks from the internet sometimes. It's important to spend time doing other activities and being with your family and friends in person.Remember, the internet is a big and wonderful place, but it's up to all of us to make it a safe and happy place to be. By being kind, respectful, and responsible online, we can make the internet a better place for everyone.篇5Staying Positive OnlineThe internet is an awesome place! There's so much cool stuff to learn about, fun games to play, and awesome videos to watch. But there's also a lot of negativity and meanness online that canreally bring you down. That's why it's important to know how to avoid negative stuff and keep the internet a positive, uplifting place!One of the biggest sources of negativity online are the comment sections on videos, social media posts, news articles, and pretty much anywhere people can leave comments. You'll find people arguing, insulting each other, and just being negative for no good reason. It's easy to get drawn into the drama and negativity, but that's not a good idea. The best thing to do is avoid reading the comments altogether or at least don't engage with any of the negativity. Walk away before you get dragged down into the muck.Even worse than negative comments are the outright hateful, bullying, and harassing ones. Cyberbullying is a huge problem online. If you encounter someone sending you hateful messages, telling you to harm yourself, threatening you, or anything like that, the most important thing is do not respond! That's exactly what they want - to get a reaction out of you. Instead, block them, report them to the platform you're on, and tell a trusted adult what happened right away. Responding with more negativity will only make the situation worse.While comment sections can be toxic, even more mainstream content like regular posts on social media, YouTube videos, video games, and websites can sometimes spread negativity in more subtle ways. Maybe a popular YouTuber you like is making inappropriate jokes or saying mean things about other people. An online multiplayer game might be filled with trash talk and insults being flung around. Or social media posts and websites could have false information, hateful ideas, or content that's just not age-appropriate for kids.When you encounter stuff like that, it's important to think critically about what you're seeing and reading. Don't just blindly consume everything online without questioning it first. Ask yourself: Is this content respectful and positive or does it make fun of people in a mean way? Does it present facts or is it spreading rumors and misinformation? Is the language and subject matter okay for kids my age or does it haveadult/innapropriate content? If any of those red flags go up, it's better to avoid that content.Luckily, there are lots of great communities and content out there on the internet being created by positive people. Look for kid-friendly clubs, forums, YouTube channels, and social media accounts that are about the things you're really interested in -like sports, coding, art, reading, or whatever your passion is. These positive online spaces are way more fun and enriching than the places filled with negativity.And remember, you have just as much power to create a positive presence online! If you make YouTube videos, post on social media, write comments, or interact with others on multiplayer games, always try to keep things respectful and avoid negativity yourself. Don't feed the trolls. Kill them with kindness instead of more meanness. Post about the things you love and spread positivity. Share facts from trusted sources, not fake news or misinformation. Use positive language and be a shining light online!It's also really important to practice good self-care when you do encounter negativity online, because it can really bring your mood down over time if you let it get to you. Step away from the internet for a while and do activities you enjoy offline, like playing outside, reading books, making art, spending time with friends and family, or whatever makes you happy. Taking breaks from online stuff is key to resetting your mood.The internet doesn't have to be a negative place. It can be an awesome force for learning, creativity, connection and positivity! But it's up to all of us to make that choice - to be the powerfulforce of positivity online and avoid falling into negativity ourselves. As long as we're smart about steering clear of online negativity, being critical consumers of media, and spreading more kindness than hate, the internet will be a much brighter, happier, and all-around cooler place!篇6Say No to Online Nastiness!Hi friends! Today I want to talk to you about something really important - being nice online. I know we all love playing games, watching videos, and chatting with our buddies on the internet. But have you ever come across some mean comments or posts that made you feel bad? That's what we call online negativity or cyberbullying, and it's not cool at all.Imagine if someone came up to you on the playground and started calling you names or saying hurtful things about how you look or act. That would be really upsetting, right? Well, the same thing happens online too, except the bullies can hide behind a screen. They might make fun of someone's appearance, spread rumours, or leave horrible comments on someone's videos or posts. It's like they're throwing insults instead of playground balls!I've seen online negativity happen to some of my friends, and it made them really sad. One time, my buddy Jake posted a video of himself singing, and he was so proud of it. But then a bunch of mean people started commenting stuff like "You sound terrible!" and "Why did you even post this?" Jake got so upset that he didn't want to sing anymore. That breaks my heart because singing makes him so happy.Another time, my friend Emma was getting bullied online because of her looks. Some kids were calling her "ugly" and "weird-looking." Emma is one of the prettiest, kindest people I know, and those comments really hurt her feelings. She started avoiding video calls and didn't want anyone to see what she looked like.It's just not right to make people feel that way, you know? The internet should be a fun place for all of us to explore our interests, be creative, and make friends – not a place where we get torn down.So what can we do about it? Well, the first thing is to be an upstander, not a bystander. If you see someone being mean online, don't just watch – speak up and tell them to stop! You could say something like "That's not cool, leave them alone" or"Don't cyberbully, it hurts people's feelings." Sometimes bullies just need to be called out on their behavior.You should also report any cyberbullying you see to a trusted adult, like a parent or teacher. They can take action and get that harassment stopped. And if you're the one being bullied, don't suffer in silence – tell an adult you trust so they can help you.But the most important thing is to be a nice internet citizen yourself. Before you post or comment anything online, ask yourself: "Would I say this to someone's face?" If the answer is no, then don't post it! Treat others how you want to be treated –with kindness and respect.It's also a good idea to adjust your privacy settings and keep your personal information safe online. Don't share anything too private, and be careful about who you accept friend requests from. You never know who might be a bully in disguise.And if you do happen to come across something negative or upsetting, don't respond or retaliate. That might just make the situation worse. Instead, block or report the bully, and spend your time with positive people who make you feel good about yourself.The internet is a big, wonderful place full of amazing things to see, do, and learn. Let's keep it fun and friendly for everyone by stamping out online negativity! Remember, we all deserve to feel safe, respected, and happy – whether we're online or in the real world. So let's fill the internet with more kindness, positivity, and support for one another.Who's with me? Let's make the internet a better place, one positive comment at a time!。
Chapter 1Computing system 计算系统Principle of easiest penetration 最易渗透原则Hardware 硬件Software 软件Data 数据Vulnerability 脆弱性Threat 攻击Attack 威胁Control 控制Interruption 中断Interception 截取Modification 篡改Fabrication 伪造Method 方法Opportunity 机会Motive 动机Security secure 安全措施Confidentiality 保密性/机密性Integrity 完整性Availability 可用性Secrecy 保密性Privacy 私密性Configuration management 配置管理Logic bomb 逻辑炸弹Trojan horse 特洛伊木马Virus 病毒Trapdoor 陷门Information leak 信息泄露Principle of adequate protection 适度保护原则Salami attack 香肠攻击Replay 重放Cracker 破译者Prevention 预防方法Deterrence 障碍Deflection 偏差Detection 检测Recovery 恢复Encryption 加密Protocol 协议Policy 策略Procedure 规程Physical control 物理控制Principle of effectiveness 有效性原则Overlapping control 重叠控制Layered defense 分层防御Principle of weakest link 最弱环节原则Administrative control 管理控制Chapter 2Sender 发送者Recipient 接受者Transmission medium 传输中介Interceptor 截取者Intruder 入侵者Encryption 加密Decryption 解密Encode 编码Decode 解码Encipher 编密码Decipher 译密码Cryptosystem 密码体制Plaintext 明文Ciphertext 密文Algorithm 算法Key 密钥Symmetric 对称的Asymmetric 非对称的Keyless cipher 无密钥密码Cryptography 密码编码学Cryptanalyst 密码分析学Cryptology 密码学Break an encryption 破译加密Substitution 替换Transposition 置换Substitution 替换密码monoalphabetic substitution 单字符替换法Simple substitution 简单替换法Caesar cipher 恺撒密码Permutation 排列One-time pad 一次性密码本Vigenere tableau 维吉尼亚表Vernam cipher 弗纳母密码Book cipher 密码本Columnar Transposition 列置换Digram 双字母组Trigram 三字母组Product cipher 成绩密码Secure cryptographic system 安全密码体制Amount of secrecy 保密量Error propagation 差错传播Authentication 鉴别Key distribution 密钥分配Key management 密钥管理Stream cipher 流密码Block cipher 块密码Confusion 混乱性Diffusion 扩散性Ciphertext-only attack 唯密文攻击Known plaintext attack 已知明文攻击Probable plaintext attack 可能明文攻击Chosen plaintext attack 选择明文攻击Chosen ciphertext attack 选择密文攻击Data Encryption Standard(DES) 数据加密标准Data Encryption Algorithm-1 数据加密算法-1 Double DES 双重DESTriple DES 三重DESDifferential cryptanalysis 微分密码分析学Advanced Encryption Standard(AES) AES高级加密标准Rijndael 一种对称加密算法Cycle or round 循环Public key encryption 公钥加密Asymmetric encryption system 非对称密码体制Private key 私钥Secret key 密钥Rivest-Shamir-Adelman (RSA) algorithm 一种非对称加密算法Cryptographic hash function 密码哈希函数Message digest 消息摘要Hash 哈希Checksum 检验和One-way function 单向函数MD4,MD5 两种消息摘要算法名称SHA/SHS 安全哈希算法/安全哈希标准Chaining 链接Key exchange 密钥交换Digital signature 数字签名Certificate 证书Certificate authority(CA) 证书管理中心Chapter 3Program 程序Secure program 安全程序Fault 故障Program security flaw 程序安全漏洞Bug bugError 错误Failure 失败Penetrate and patch 渗透和打补丁Cyber attack 计算机攻击Buffer overflow 缓冲区溢出Incomplete mediation 不完全验证Time-of-check to time-of-use 检查时刻到使用时刻Malicious code 恶意代码Rogue program 欺诈程序Virus 病毒Agent 代理Transient virus 瞬时病毒Resident virus 寄生病毒Trojan horse 特洛伊木马Logic bomb 逻辑炸弹Time bomb 时间炸弹Backdoor 后门Trapdoor 陷门Worm 蠕虫Rabbit 野兔Appended virus 挂接性病毒Document virus 文档病毒Bootstrap load引导装在Boot sector virus 引导区病毒Virus signature 病毒特征Polymorphic virus 多态性病毒Encrypting virus 加密病毒Brain virus Brain病毒The Internet worm 互联网蠕虫Code Red红色代码病毒Web bug 网页bugUnit test 单元测试Integration test 集成测试Error checking 错误检查Rootkit rootkitRootkit revealer Rootkit检测器Privilege escalation 权限提升Interface illusion 接口错误Keystroke logger 键盘记录器Man-in-middle attack 中间人攻击Covert channel 隐蔽通道File-lock channel 文件锁通道Storage channel 储存通道Timing channel 时间通道Software engineering 软件工程Encapsulation 封装Information hiding 信息隐藏Modularity 模块化Maintainability 可维护性Understandability 易理解性Reusability 可重用性Correctability 正确性Testability 可测试性Coupling 耦合Cohesion 内聚Mutual suspicion 相互猜疑Confined program 限制程序Peer review 对等复查Program design 程序设计Inspection 检查Walk-through 走查法Review 复查Egoless programming 无我编程Hazard analysis 危险性分析Hazard/interoperability studies 危险/互操作性研究Failure modes and effects analysis 失效模式和后果分析Fault tree analysis 故障树分析Performance test 性能检测Regression test 衰减检测Black-box test 黑盒检测Clear-box test 白盒测试Independents test team 独立测试小组Penetration test 渗透测试Passive fault detection 被动故障检测Active fault detection 主动故障检测Redundancy 冗余Fault tolerance 错误容差Configuration management 配置管理Configuration identification 配置识别Conditional compilation 条件编译Configuration audit 配置审查Proof of program correctness 程序正确性证明Program verification 程序验证Process standard 过程标准Configuration management standards配置管理标准Security audit 安全审计Chapter 4Executive 执行器Monitor 监控器Multiprogrammed system 多道程序系统Protected object 被保护对象Sharable I/O device 可共享的I/O设备Serially reusable I/o device 可连续重用的I/O设备Physical separation 物理分离Temporal separation 时间分离Logical separation 逻辑分离Cryptographic separation 密码分离Isolation 隔离Memory protection 内存保护Fence register 界地址寄存器Relocation 重定位Base/bounds registers 基址/范围寄存器Tagged memory architecture 标记内存结构Segmentation 分段式Segment address table 段地址表Segment address translation 段地址转换Paging 分页Page frame 页帧Page address translation 页地址转换Paged segmentation 段页式Directory 目录Revocation of access 撤销访问Access control list 访问控制列表User-group-world protection 用户/组/全局保护Access control matrix 访问控制矩阵Wildcard designation 通配符指定Capability 访问权能Domain 域Local name space 本地名字空间Kerberos KerberosAuthentication sever 鉴别服务器Ticket-granter sever票据授权服务器Key distribution center 密钥发布中心Procedure-oriented access control 面向程序的访问控制Role-based access control 基于角色的访问控制File protection 文件保护Shared file 共享文件Persistent permission 持久许可Temporary access permission 临时访问许可Set userid permission 设置用户ID许可Per-object protection 每个对象保护Per-subject protection 每个主题保护User authentication by something you know 依据用户知道的事情鉴别User authentication by somthing you have 依据用户拥有的东西鉴别User authentication by somthing you are 根据用户的身体特征鉴别Password 口令Password response 口令响应Multifactor authentication 多因素鉴别Two-factor authentication 两因素鉴别Exhaustive attack on password 对口令的穷举攻击Brute force attack on password 对口令的暴力攻击Probable password 可能的口令Likely password 很可能的口令Social engineer attack 社会工程攻击One-time password 一次性口令Challenge-response system 质询响应系统Single sign-on 单次登陆Login impersonation 假扮演登陆界面Biometric authentication 生物特征鉴别Chapter 5Trust 信任Trusted process 可信进程Trusted product 可信产品Trusted software 可信软件Trusted computing base 可信计算基Trusted system 可信系统Security policy 安全策略Military security policy 军事安全策略Sensitivity level 敏感等级Object 对象Need-to-know rule 须知原则Compartment 分隔项Classification 分类Clearance 许可Dominance 支配Subject 主体Hierarchical security 等级安全Nonhierarchial security 非等级安全Clark-Wilson policy Clark-Wilson策略Well-formed transaction 良构事务Constrained data item 受约束数据项Transformation procedure 转换规程Access triple 访问三元组Separation of duty 职责分离Chinese wall policy 中国墙策略Lattice model 格模型Bell-La Padula model Bell-La Padula模型Simple security property 简单安全特性*-property *-特性Write-down 下写Biba model Biba模型Simple integrity policy 简单完整性策略Integrity *-property 完整性*-特性Graham-Denning model Graham-Denning模型Harrison-Ruzzo-Ullman model Harrison-Ruzzo-Ullman 模型Command 命令Condition 条件Primitive operation 原语操作Protection system 保护系统Take-grant system 获取/授予系统Least privilege 最少特权Economy of mechanism 机制经济型Open design 开放设计Complete mediation 完全检查Permission-based access 基于许可的访问Separation of privilege 特权分离Least common mechanism 最小公共机制Ease of use 易用User authentication 用户鉴别Memory protection 内存保护Object access control 对象访问控制Enforced sharing 强制共享Fair service 公平服务Interprocess communication 进程间通信Synchronization 同步Protected control data 保护控制数据User identification and authentication 用户识别和鉴别Mandatory access control 强制访问控制Discretionary access control 自主访问控制Object reuse 对象重用Magnetic remanence 磁记忆Trusted path 可信路径Audit 审计Accountability 责任认定Audit log reduction 审计日志精简Intrusion detection 入侵检测Kernel 内核Nucleus 核Core 核心Security kernel 安全内核Reference monitor 引用监视器Reference monitor properties:引用监视器特性:Tamperproof 抗干扰Unbypassable 不可绕过Analyzable 可分析Trusted computing base(TCB)可信计算基Process activation 进程激活Execution domain switching 执行域转换Memory protection 内存保护Virtualization 虚拟化Virtual machine 虚拟机Virtual memory 虚拟内存Layering 分层Hierarchically structured operation system 层次结构的操作系统Assurance 保证Flaw exploitation 缺陷利用User interface processing flaw I/O处理缺陷Access ambiguity flaw 访问二义性缺陷Incomplete mediation flaw 不完全检查缺陷Generality flaw 普遍性缺陷Time-of-check to time-of-use flaw 检查时刻到使用时刻缺陷Testing 测试Penetration testing 渗透测试Tiger team analysis 攻击队测试Ethical hacking 黑客攻击Formal verification 形式化验证Proof of correctness 正确性证明Theorem prover定理证明器validation证实Requirements checking 需求检查Design and code review 设计和代码审查Module and system testing 模块和系统测试Open source 开放源代码Evaluation 评估Orange Book(TCSEC)橙皮书(TESEC)D,C1,C2,B1,B2,B3,A1 rating D,C1,C2,B1,B2,B3,A1等级German Green Book德国绿皮书Functionality class 功能类Assurance level保证等级British evaluation criteria 英国评估准则Claims language 生命语言Action phrase 行为短语Target phrase 目标短语CLEF CLEFComparable evaluation 可比较评估Transferable evaluation 可转移评估ITSEC ITSECEffectiveness 有效性Target of evaluation 评估目标Security-enforcing function 安全强制功能Mechanism 机制Strength of mechanism 机制强度Target evaluation level 目标评估等级Suitability of functionality 功能适宜性Binding of functionality 功能绑定Combined Federal Criteria 联合联邦准则Protection profile 保护轮廓Security target 安全目标Common Criteria 通用准则Extensibility 可扩展性Granularity 粒度Speed 速度Thoroughness 全面Objectivity 客观性Portability 可移植性Emphatic assertion 强调申明Chapter 7Single point of failure 单一故障点Resilience 弹回Fault tolerance 容错Server 服务器Client 客户机Node 节点Host 主机Link 链路Workstation 工作站Topology 拓扑结构Network boundary 网络周界Network ownership 网络拥有关系Network control 网络控制Digital 数字Analog 模拟Modem 调制解调器Twisted pair 双绞线Unshielded twisted pair 无屏蔽双绞线Bandwidth 带宽Coaxial cable 同轴电缆Ethernet 以太网Repeater 中继器Amplifier 放大器Optical fiber 光纤Wireless LAN 无线局域网802.11 802.11协议标准Microwave 微波Infrared 红外线Satellite 卫星Geosynchronous orbit 覆盖范围Transponder 地球同步轨道Footprint 异频应答器Protocol 协议Protocol stack 协议栈ISO reference model ISO参考模型OSI model OSI模型Application layer 应用层Presentation layer 表示层Session layer 会话层Transport layer 传输层Network layer 网络层Datalink layer 数据链路层Physical layer 物理层Peer 对等层Router 路由器Packet 包Network interface card 网络接口卡MAC address Mac地址Frame 帧Session header 会话头部Logical connection 逻辑连接Sequencing 排序TCP TCPIP IPUDP UDPPort 端口SMTP SMTPHTTP HTTPFTP FTPSNMP SNMP IP address IP地址Domain 域Top-level domain 顶级域名Local area network 局域网LAN LANWide area network 广域网Internet Society 互联网社会Anonymity 匿名性Motivation for attack 攻击的动机Challenge 挑战Fame 名声Money 金钱Espionage 间谍Organized crime 组织犯罪Ideology 意识形态Hactivism 激进主义Cyberterrorism 网络恐怖主义Reconnaissance 侦察Intelligence 情报收集Port scan 端口扫描Social engineering 社会工程学Fingerprinting 指纹Eavesdrop 偷听War driving 战争驱动Passive wiretap 被动窃听Active wiretap 主动窃听Packet sniffer 包嗅探器Inductance 自感器Impedance 阻抗Multiplexed signals 多重信号Interception 截取Theft of service 骗取服务RFC(request for comments) 请求注解Impersonation 假冒Authentication 鉴别Guessing authentication 猜测鉴别Eavesdropping authentication 偷听鉴别Avoiding authentication 避开鉴别Nonexistent authentication 不存在的鉴别Well-known authentication 众所周知的鉴别Trusted authentication 可信任鉴别Spoof 欺骗Masquerade 伪装Phishing 钓鱼欺诈Session hijacking 会话劫持Man-in-middle attack 中间人攻击Misdelivery 误传Message exposure 消息暴露Interception 侦听Traffic flow analysis 流量分析Message falsification 伪造消息Message replay 重放消息Message fabrication 编造消息Noise 噪声Interference 干涉Protocol flaw 协议缺陷Web site defacement 网站被黑Buffer overflow 缓冲区溢出Dot-dot attack ".."攻击Address resolution 地址解析Application code attack 应用代码攻击Server-side include 服务端包含Denial-of-service attack 拒绝服务攻击Transmission failure 传输失败Connection flooding 连接洪泛Echo 响应Chargen 索取Ping of death 死亡之PingSmurf Smurf攻击Syn flood 同步洪泛Teardrop attack teardrop攻击Distributed denial of service 分布式拒绝服务Active code 活动代码Mobile code 移动代码Cookie 脚本Escape-character attack ESC字符攻击Active server page 活动服务器页Java code Java代码Sandbox 沙漏Java virtual machine Java虚拟机Hostile applet 有敌意的appletScript kiddie 脚本小子Building block attack 积木攻击Network segmentation 网络分段Redundancy 冗余Failover mode 失效修复模式Link encryption链路加密End-to-end encryption 端到端加密Virtual private network 虚拟专有网络Encrypted tunnel 加密隧道Certificate 证书Certificate authority 证书管理中心Transport layer security 传输层安全性Security association 安全关联Security parameter index 安全参数索引Authentication header 鉴别报头Encapsulated security payload 封装的安全负载Signed code 签名代码Content integrity 内容完整Error detection 错误检测Error correction code 错误校正码Parity 校验Even parity 奇校验Odd parity 偶校验Hash code 哈希码Huffman code 霍夫曼编码Cryptographic checksum密码校验和Message digest 消息摘要Strong authentication 强鉴别Password token口令令牌Challenge-response system 质询-响应系统Digital Distributed Authentication 分布式数字鉴别Ticket-granting server 票据授权服务器Ticket 票据Router ACL 路由器ACLService Set Identifier 服务区标识符Wired equivalent privacy 无线等效保密Temporal Key Integrity Program 暂时密钥集成程序Honeypot 蜜罐Traffic flow security 通信流量安全Onion routing 洋葱型路由算法Firewall 防火墙Reference monitor 引用监视器Packet filtering gateway 包过滤网关Screening router 屏蔽路由器Stateful inspection 状态检查Application proxy 应用代理Bastion host 保垒主机Guard 门卫Personal firewall 个人防火墙Layered protection 分层保护Defense in depth 纵深防御Intrusion detection system 入侵检测系统Network-based IDS 基于网络的IDSHost-based IDS 基于主机的IDSSignature-based IDS基于签名的IDSAnomaly detection 异常检测Heuristic intrusion detection 启发式入侵检测Misuse detection 误用检测Stealth mode 秘密模式Scanner 扫描仪IDS alarm IDS警告False positive 漏报False negative 误报Secure e-mail 安全电子邮件Message confidentiality 消息机密性Message integrity check 消息完整性检查Sender authenticity 发送者的真实性Sender nonrepudiation 发送者的不可否认Key management 密钥管理Key ring 钥匙环。
基于预测差值的医学图像可逆信息隐藏范鑫惠; 李辉【期刊名称】《《北京化工大学学报(自然科学版)》》【年(卷),期】2019(046)002【总页数】7页(P83-89)【关键词】可逆信息隐藏; 医学图像; 中值边缘预测; 预测差值【作者】范鑫惠; 李辉【作者单位】北京化工大学信息科学与技术学院北京100029【正文语种】中文【中图分类】TP391引言信息隐藏是将受保护的信息嵌入到载体中,可逆信息隐藏技术是其中一个重要的分支,不仅能完整提取嵌入信息,同时可无损恢复载体。
近年来随着医疗数字化进程的推进,海量的医学图像在网络上传播,传输过程中任何的误差都有可能导致误诊,而且如果在医学图像中嵌入了病人的诊断信息,则需要很高的嵌入量。
普通的嵌入算法在嵌入大量信息的同时,会不可避免地使解密后的图像出现一定程度的失真。
因此,对于具有高嵌入量和高精度要求的医学图像,需采用可逆信息隐藏算法,保证原图像和解密后图像的一致性。
目前的可逆信息隐藏方法主要有3 类:无损压缩[1-4]、图像直方图平移[5-7]和差值扩展[8-11]。
基于无压缩的可逆算法实现简单,但在嵌入容量上不具有优势而且容易带来图像失真;基于直方图的可逆算法虽然保证了图像精度,但嵌入量仍达不到令人满意的效果。
因此研究者开发了利用相邻像素之间的相关性嵌入秘密信息的差值扩展技术[8],在传统的差值扩展技术的基础上,提出了基于预测差值的可逆算法。
张丽娜[9]采用平均值预测算法生成预测差值,利用待预测像素点周围的8 个像素进行预测,预测准确度有所提高,但嵌入量减小;Hong等[10]采用中值边缘预测(median edge detection prediction,MPE)算法生成预测差值,再根据预测差值的分类对像素点进行平移或保持不变,虽然提高了嵌入量,但未对像素值为0 和255 的像素点进行操作,仍不能满足医学图像高嵌入量的要求。
本文基于文献[10]中的MPE 算法,结合医学图像的特点,提出一种基于预测差值的医学图像可逆信息隐藏算法。
Aa multitude of…种种的,众多的abbreviate缩略,简写成abbreviate缩写,缩略abrupt突然的accelerate 力口速accessible可访问的,可用的accounting会计学,记帐acquire 获取active device有源器件adapt适应additive相加的,加性的adept熟练的,老练的administer 管理administration 行政,管理advent到来,来临adversary对手,敌手advocate提倡者,拥护者adware 广告软件aeronautical 航空的aerosol 烟,雾affiliate会员,分支机构aftermath灾难后的时期,后果agent代理album照相簿,歌曲集alchemist 点金术士alert使警觉alertness 警觉algebraic代数的algorithm 算法aliasing 混叠alignment 对准alleviate 减轻allocate分配,指派allocation分配,指定allot分配alternate 交替altimeter高度计amass聚集,堆积amateur业余爱好,业余的ambient周围的ambiguous模糊的,混淆的amplify 放大amplitude幅度,广阔analogous类比的,相似的analytical 分析的anatomical解剖学的animation 动画annex附件annotation注释,评注anonymity 匿名antenna 天线anticipatory system 预知系统aperture孔径,光圈apparatus设备,装置,仪器appliance用具,器具application-specific integratedcircui t专用集成电路(ASIC)application-specific 面向应用的arbitrarily 任意地architecture 建筑,结构arguably可争辩地,有争议地arithmetic 算术artifact人工制品artificial intelligence 人工智能artificial 人工的aspersion诽谤,中伤Assessment 评估assurance保障,保险astounding令人惊骇的astronaut宇航员asymmetric非对称的asynchronous非同步的,异步的at will随心所欲atom原子attachment添加,附加attain 达至Uattenuate 衰减attenuation 衰减attest表明,作证Auditing审计,查账authentication 认证,确认authenticity 真实性authoritative权威性的autocorrelation 自相关automate使自动autonomous自治的,自主的autoregressive model 自回归模型avalanche 雪崩Bbackbone骨干,基干back-end 后端backprojection 反向投影backup备份,后备ballistic motion 冲击运动bandlimited 限带的barricade 路障base die 基底baseband 基带base基极baud波特BCD二一十进制beam 发送,传送,光束beat-note差拍信号Benefit利益,福利benign良好的,有利的bias current偏置电流bias偏置bibliography参考书目bicyclepedal自行车的脚蹬子bidirectional 双向的bifurcation 分叉bilinear双线性binary二进制的binocular望远镜biomass生物量biomedical生物特征的biometrics生物统计学biosignal生物医学信号bipolar有两极的,双极的bitcode比特字,比特码bitrate比特率black holes黑洞blend混合blending混合,混合物blessing赐福,祝福block diagram 方框图block阻止,阻塞bluetooth 蓝牙boardroom会议室bold黑体的,粗体的bolt用螺栓固定住bonfire 篝火bookkeeping 簿记borehole 钻孑L boron 硼bottleneck 瓶颈boundary边界,分界线bounded有界的brand品牌breach破坏,违反breadboard 面包板breakneck极快的,很危险的breakthrough 突破browser浏览器buffer缓冲器bulkhead船的舱壁bundle捆,包扎burst爆发bus总线by virtue of…凭借…CCaller电话接听者camcorder手持摄像机canal运河,沟渠capacitance 电容capture捕获,获取cardiology 心脏病学caregiver护理人员carrier 载波carry进位Cartesian迪卡尔(坐标)的casually随便地catastrophe大灾难,大祸categorize 分类causal因果关系的cavity空腔celestial天空的cell phone蜂窝式电话cell-size蜂窝大小cellular蜂窝状的census人口普查cepstrum 倒谱ceramic 陶瓷cerebrospinal 脑脊髓的channel capacity 信道容量character 个性characterize描绘,刻画性质charge电荷checkers 跳棋chew咀嚼chip码片choke窒息,阻气门chronic disease 慢性病cipher密码,暗号circa (c., ca., cir.circ.)大约circulation循环,流传cite引述,引用cladding光纤包层clarify 澄清classification 分类classified information 机密信息clear input 清零端clearance许可,清除client/server客户/服务器clinical临床的clock pulse时钟脉冲clog up阻塞closed-loop gain 闭环增益clout权力,影响,力量clump 簇,团clutter 杂乱coachman 教练coax cable同轴电缆cockpit驾驶舱codec编解码器coefficient 系数cognitive认知的coherent相干的coin创造,杜撰collaborate合作,勾结collector集电极co-located位于同一地方的color burst色同步信号color space颜色空间combat抗击commercial商业的,商品的,广告comparable 可比的compartment 船舱compatibility兼容性compatible 兼容compelling 强制的competitive有竞争力的competitor竞争对手complacency自鸣得意complementary互补的,补充的complexity复杂性,复杂度component成分,组成部分compound 复合comprehensible可理解的compression 压缩computer aidedtomography (CAT)计算机断层扫描concatenate连在一起,级联concentric 同心的concrete具体的condemn宣告,宣判conducive有益的,有助的conferencing举行会议confidentiality 机密性configuration 酉己置configure酉己置confinement 限制conformable适合的,顺从的connectivity 互联性conservative 保守的consistent 一致的console控制台consonant 辅音constellation星座图,星罗棋布constituent成分constraint约束,限制constrict 收缩construct构造,构造物construct构成物consultation 咨询contend斗争,争辩content(v.)满足,满意context上下文,背景contiguous 邻接的contour等高线convection 对流converge收敛,汇集于一点conveyance运送,运输conveyer传输带convolution 卷积convolutional coding 卷积编码coordinate 坐标coordination 协调cordlessphone 无绳电话Core核心corporate公司的,合伙的correlate相关,作相关处理correspondence 通信,信件corrupt使腐烂,腐败的corruption腐败,毁坏corrupt 毁坏cost effective经济的,合算的counter计数器counterpart对等物,对等的角色courier信使,送急件的人cover-up 掩盖cracker破译者,攻击者crack使爆裂crash崩溃credit归功于,相信cross-correlation 互相关cross-sectional断面的,截面的cross-talk窜音,干扰cryptanalysis 密码分析cryptography密码学,密码术crystal 晶体culpability有过失,有罪curse诅咒,咒语curve-fitting 曲线拟合customization 专用化customize 定制cybernetics 控制论cyberspace网上空间cylinder柱体,圆柱cylindrical圆柱形的DD flip-flop D 触发器data sheet技术规格表data traffic 数据流Database数据库dBi (decibel isotropic)全向性分贝deceive 欺骗decimal十进制的decimate 抽取dedicated researcher 奉献于事业的研究者dedicated专用的,奉献的deficiency 缺陷degrade 退化,降级delay spread 延迟扩展deliberation深思熟虑dematrix求矩阵反变换demilitarized解除武装的demltiplexer解复用器demodulate 解调demodulation 解调Denial否认,拒绝deploy部署deployment 部署deposit存放,堆积derivative导数,微商derive 推导dermatology皮肤病学descriptive描述性的desirability可取性,值得despread解除扩频destine 注定destructive破坏性的detector检测器,检波器deviant不正常的deviation偏移,偏差diagnose 诊断diagnosis 诊断diagnostic 诊断的dialup拨号diameter 直径dictate 口授,说明die骰子dielectric介电的,电介质dielectric介电的,电介质的die 印模,模子difference equation 差分方程differential equation 微分方程differentiate 区分diffract衍射,绕射diffuse 扩散digest消化,理解digitization 数字化digitizer 数字化仪Diligence 勤奋dimension 维,尺度diode二极管dipole偶极子directionality 方向性disastrous灾难性的discern辨别,看清楚discharge 放电discipline学科,纪律disclosure 披露discontinuity 不连续性discrepancy 差异discrepancy偏差,偏离discrete离散的discretion慎重,斟酌处理权discretization 离散化discriminator鉴别器,鉴频器dispatch 派遣dispersion 色散disruption瓦解,扰乱disseminate散布,传播dissipation ^消耗distributed分布式的,分散的distribution 分发disturbance扰动,干扰diverge 发散diverse多变化的,多元的diversion 转移diversity多样,差异性DJ (disk jockey)播音员,节目主持dominate支配,占优势doom注定doped掺杂质的doping掺杂(质) Doppler shift多普勒频移dotproduct点积,标量积doughnut油炸圆饼dour阴沉的,严厉的downfall衰败,跌落drainage 排水drain漏极drastically激烈地,彻底地drawback 缺点dreaded可怕的drift漂移duct管道Due应得的duration持续时间dynamic binding 动态绑定dynamic range 动态范围dynamics动力学dynamo发电机EEarth-orbiting绕地球轨道运转的e-health电子保健eject喷射,强制离开electrodynamics 电动力学elevate 提升elevation contour 海拔等高线eliminate消除,淘汰elliptical orbit 椭圆轨道elliptical 椭圆的embed嵌入embrace拥抱,包含emerge出现,浮现emergence 出现emission发射,散发emit放射,射出emitter发射极empirical凭经验的,经验性的emulate效法,模仿emulation仿真,仿效encapsulate 封装encompass包含,包围,完成encrypt 力口密encryption 力口密endeavor努力,尽力endoscope内窥镜,内诊镜engineer设计,策划enhancement 增强entail需要,使必须,引起entity实体entropy熵,平均信息量envelope function 包络函数envelope 包络equalization 均衡equivalent等效的,相当的erbium 铒erosion腐蚀,侵蚀err犯错误erroneous错误的erudition 博学escalation扩大,增大eschew避开etch蚀刻eternal永恒的,不灭的Ethernet以太网ethical伦理的,道德的Euclidean distance欧几里德距离eustatic (全球)海面升降的evanescent 渐逝的evasion 逃避excitation 激励exclusively无例外地executive执行的,执行者exemplify 例证exhaust 耗尽experiential凭经验的expertise 专长explicit明确的,清楚的explicit显的,明白的exponent 指数extrapolate推断,夕卜延extravaganza发狂言行,异乎寻常Ffabricate制造,伪造facilitate使容易,促进fading衰落Faith新任,忠实faithfully如实地,正确地falling edge (脉冲的)下降沿fatality灾祸,死亡事故fault故障favor支持feasibility可行性,可能性feature size 特征尺寸feature-filled富有特色的feed horn馈送电波的喇叭天线feed line 馈线femtosecond 毫微微秒(1015sec)ferrite core memory 铁磁芯存储器fertilize施肥,滋养fiber纤维,光纤fidelity保真度,逼真field-effect 场效应field-programmable gate arrays现场可编程门阵列field-programmablegate array (FPG A)现场可编程门阵列field-test现场测试,实地测试filtering 滤波fingerprint 指纹finite set有限的集FIR (finite impulseresponse filter)有限冲击响应滤波器firewall防火墙fixed-point arithmetic 定点运算,整数运算flair天赋,资质,潇洒flaw缺陷,瑕疵flexible柔顺的,灵活的flip-flop双稳态触发器floating point 浮点floodlight 泛光灯fluctuate 起伏fluctuation波动,起伏flywheel 飞轮Focused training 强化训练forensic法医的,司法取证forensic司法,法医(取证)的Forensics司法,法医,取证formant语音的共振峰formulate 表述,用公式表达forward转发,转送fraction小部分,分数fractional部分的,分数的fraction片断,小数fragment碎片,分成碎片frame 帧free-to-airTV不加密不收费电视friction 摩擦,摩擦力frightening 可怕的fringe加边饰,条纹fruition结果实,成就frustrating令人沮丧的fuel燃起,燃料functionality 功能function 函数fur-bearinganimal 毛皮动物furrow沟,皱纹,辙Ggain增益gamble赌博,投机garble篡改,歪曲,使混乱gateway通道,网关gate栅极gating用门电路作逻辑运算gauge测量,使…符合标准general practitioner 全科医生generalization普遍化,推广,概括generalized 通用化genesis 起源genetics遗传学genre流派,类型Genuine 真的geostationary orbit对地静止轨道geosynchronous地球同步的germanium 锗gigahertz 吉赫(109Hz)glean收集获得glider滑翔机graded-index渐变(梯度)折射率gradient梯度,渐变的grandmaster 大师granular颗粒状grating 光栅gravitational 重力的gross product总产值,总产量guard interval 保护间隔gynecology 妇科学gyroscope陀螺仪gyrotron振动陀螺仪Hhabitat栖息地handoff切换,移交handshaking 握手hardware description language(HDL)硬件描述语言hatch孵化,舱口headend数据转发器headway进展,前进heliograph 日光仪helium氦气herein在此,如此heritage世袭财产,遗产heuristic启发的,启发程序hexadecimal 16 进制的hexagon六边形hifi (high fidelity)高保真(音乐)highlight突出,突显,强调hindsight事后聪明histogram直方图holding circuit 保持电路homodyne零差式的host主机hub中心,网络集线器Hubble telescope哈勃望远镜hue色调Huffman encoding Huffman 编码hull外壳,船身hunch预感,直觉的想法hybrid混合,混合物hydrologic 水文的hydrology水文学hydrophone 水听器hype广告,人为刺激hypothesis 假设Iignition燃烧,点火IIR (infinite impulse responsefilter)无限冲击响应滤波器image registration 图像配准imagery像,图像imagingradiometer 辐射成像仪imitator仿冒者immune免疫的,不受影响的immutable不可变更的impartial公正的,不偏不倚的impedance 阻抗impede妨碍,阻止imperative势在必行的impinge撞击,射到impose施加impress印,铭刻,加载in absentia 缺席的In agreement with …与--- 一致/不冲突In nature性质上in series 串接inadequacy不够,不足inadequate 不够的inadvertently漫不经心地in-building建筑物内的incident入射的incompetence 无能increment 增量incur招致,蒙受,引起index of refraction 折射率indexing mechanism 索弓|机制indistinguishable 难以分辨的induce感应,遭致inductance 电感infection 传染inference 推论inferior差的,处于劣势的infinity无穷大inflation 通货膨胀informatics信息科学information hiding 信息隐藏informative提供信息的informed 有知识的,有见闻的infrared红外线,红外的infra-red红外线的,红外线infrastructure 基础设施ingredient成分,因素inherently内在地,本质上inheritance遗产,遗传inhibition 禁止,压制inhomogeneity 不均匀性initiative主动的行动insane 有精神病的,愚蠢的instantaneously 瞬时地instantaneous 瞬时的insulate 绝缘insulate绝缘,隔离intact完好的,完整的integer 整数integral 积分integrate求积分integrated circuits 集成电路integrator 积分机integrity完整性intelligence 智能,情报intelligent 智能的Intensity 强度interact交互作用interactivity 交互interactivity 交互性interchangeably可互换地,不区分地interconnected 互联的interdisciplinary 跨学科的interface 接口interlace相间,隔行扫描interleave 交织interleaving 交叉,交织interleaving 交织,交错intermediary中间的,媒介的interminable无限的,冗长的intermittently 间歇地internal medicine 内科学interoperability 互操作性interpolate 内插interrogator询问者,质询者interrupt 中断intersection 交叉点intertwining 缠绕在一起interval 间隔intervene插入,干预intervening 期间的intrigue引起兴趣,吸引introductory介绍性的,引导性的intrusion 入侵intuitive直觉的inundation洪水,大水invasive入侵的,侵略性的inverse反转的,逆irrefutable不能反驳的irregular不规则的,无规律的irrevocable不可变更的isotope同位素ISP互联网业务供应商Jjaggedness起伏不平,不规则jamming 干扰jitter抖动,颤抖Julius Caesar朱利叶斯•恺撒junk垃圾justify证明是必要的Kkeep pace with…与…保持一致步伐kernel核,核心keying键控(法) kink扭结,绞缠klystron速调管Llaptop computer膝上电脑/笔记本电脑laser激光latch锁存(器)latency等待时间,时间延迟latency延迟,潜伏期law suit司法诉讼lax宽松的,不严格的layout布局,布线leading edge (脉冲的)前沿legacy祖先遗留之物legible可识别的,清楚的legion军团,众多的人lend itself to…有助于,适合于lend oneself to有助于,适宜于levee大堤lidar激光雷达likelihood可能性,似然性limelight众人注目的中心linearity 线性line-of-sight 视线linkage联合,结合lithographic平板印刷的litigious好诉讼的,好争论的live concert实况音乐会live multimedia实时多媒体load leveling负载平衡logarithm 对数logarithmic 对数的login登录lookup table 查找表lossless无损的lossy有损耗的loudspeaker 扬声器lump块,使…成块lumpedelement 集总元件lumped system集总系统Mmachine vision 机器视觉magneticresonance 磁共振magneticresonanceimaging (MRI)磁共振成像magnetron磁电管,磁控管magnitude大小,数量maiden name婚前的姓/娘家的姓mainframe大型计算机mainstream 主流maintainability可维护性Malicious恶意的malignant恶性的malware恶意软件mandatory命令的,必须的mangrove 红树manifestation 显示,证明manipulate处理,操作manipulation 操作,处理mantissa 尾数map映射marginally有限度地Marital婚姻的maritime航海的market share市场份额Mars火星marsh沼泽,湿地marvel奇异之事maser迈泽massive巨大的matrix矩阵mature成熟mean均值measure测度,度量mechanism 机制median filter中值滤波mediocre不好不坏的,通常medium access control (MAC)媒体访问控制megabyte兆字节megaphone扩音器melt熔化mental精神的,智力的merge合并metabolism新陈代谢metallic金属的metallization 金属化metamorphose使变形,变态meteorological 气象的methodical有方法的,有系统的metropolitan 都市的micrometer 微米(10 6 m)micron微米microstrip antenna 微带天线middleware 中间件mill作坊,工厂millennium 千年mimic模仿mimic模仿miniature小型的miniaturization 小型化minority 少数minutia 细节(minutiae)misfiring误触发mismatch失配,不匹配mitigate 使缓和,减轻mixer混频器mobility移动性modality形态,式样modem调制解调器modular-2 模2 的module模块modulo模,取模的moisture湿气,水份moment 矩mono单一,单声道monochromatic 单色的monochrome 单色的monotypic 单型的moral道德,寓意morbidity发病率Morse code莫尔斯电码mortal人的,不免一死的mosaic马赛克,拼图motherboard 母板motion blur运动模糊motivation动机,推动力MRI磁共振成像multi-carrier 多载波multicast组播,多播multimedia authoring 多媒体制作multimode fibers 多模光纤multipath fading 多径衰落multipath 多径multiplex多样的,多路复用multiplex 复用multiplication 乘法multiply 相乘multiprocessor 多处理器multi-spectral 多光谱的multitude多数,大众mutual information 互信息Nnand与非nanometer 纳米(10 9 m)narration叙述,解说navigate 航行negligence疏忽,玩忽行为negligible可忽略的netlist电子设计中的联接性network traffic网络数据流neurobiology神经生物学neurology神经病学neuron神经元,神经细胞niche有利可图的专门市场non-field programmable非现场可编程的nonlinearity 非线性normal垂直的,法线的normalize归一化,标准化normative规范的,标准的nor或非notion概念novelty新奇,新鲜事物number base 数制numerical数值的nutrient 营养Oobjective 目的object-oriented面向对象的oblique倾斜的obsolete过时的,陈旧的obstetrics 产科obviate避免,使成为不必要oceanographer 海洋学家offline离线的,非实时的offset voltage drift补偿电压的漂移offset偏移量olfactory嗅觉的,嗅觉器官onboard logic (电路)板上逻辑ongoing进行中的Ongoing正在进行的op amp运放的简写opaque不透明的operationalamplifier 运算放大器operator算子,算符optical fiber 光纤orientation 方向originate 发源originate来源于orthogonal 正交的orthogonality 正交性orthomode transducer 直接式收发转换器oscillate 振荡oscillator 振荡器otology耳科学out of focus未聚焦,聚焦不良的outbound向外的outdated过时的outpace赶过,超越output swing输出电压变化范围outset开头,最初outward 向外overconfidence 过分自信overhead 开销overlap 重叠overlook忽视,俯视ozone臭氧Ppacket (数据)包pager寻呼机paging寻呼pan-tilt-zoom平摇、俯仰、变焦parabolic抛物线的paradigm范例,样式parallel logic circuitry 并行逻辑电路parallel 并行parallel并行,平行parameter 参数parameters 参数parasitic寄生的parity奇偶性partition分割,分区passive被动的,无源的patch 片pathology病理学pattern 模式payroll工资单,员工清单pediatrics 小儿科penetrate穿透,渗透Penetration穿透,入侵perception感觉,感知,领悟perceptual 感官的peripheral外围的,外围设备perpendicular 垂直的perspective透视图,透视的pertinent相关的,切题的perusal精读,细读pervade弥漫于,流行于phase相位,相角Phenomenal显著的,异常的phosphorous 磷的photoelectric effect 光电效应photomask光掩模photometrically在摄影光度方面photon光子physician内科医生physiology 生理学pico-cell微微蜂窝pilot signal导频信号pilot引导,试用pinpoint准确地定位pitch音调,程度pixel像素placement 放置plasma等离子体platform 平台platitude陈词滥调,老生常谈plausible貌似合理的plea请求,恳求plug插入polar极坐标的polarization 极化,偏振polarization 偏振,极化polymorphism 多形态polysilicon 多层硅pool把…集中使用popularization大众化,流行portability 便携性portrayal描绘,肖像pose摆放,提出,陈述potential 潜力power of two 2的幂power 幂precision精度,精确的predominant占主导地位的prefix 前缀preform预制品prelude 序言premature未成熟的premise 前提premises (经营)场地premise 前提presampling 预采样prescribed 预定的presentation layer 表示层preset预置presetable可预置的prevalent流行的prior to…在•…之前priority queueing按优先级的排序prism 棱镜privilege 特权procure获得,取得product 乘积productivity生产力,工作效率Profession 职业professional field 专业领域Professional专业人员professionally 专业地profile轮廓,姿态programmable controller (PC)可编程控制器programmable可编程的projection 投影proliferate 激增proliferation 激增promote推销,促进prompt提示,激励propagation delay 传播延迟propagation 传播proportion 比例protocol协议,规约prototype原型,样机protrude 突出provably可证明地proximity接近,亲近proxy server代理服务器pseudo random noise 伪随机噪声psychiatry精神病学psycho-acoustic心理声学的PTZcameraPTZ 摄像机punch card穿孔卡片purchase 购买purpose-designed针对目的设计的pursue追求,从事Qquadrangle 四边形quadrature正交,90 相位差quantify量度,表示数量quantitatively 定量地quantization量化quantum量子,量化quest追求,探索queue排队,队列Rradiant辐射的radio astronomy 射电天文学radiograph 射线图radiographic射线图像radioisotope放射性同位素radiology放射学radiometer 辐射计rain fade降雨衰减raster光栅rationality合理性,理性reactive ion etching反应离子刻蚀reactive反应的,反动的real number 实数reasoning 推理reassessment重新评估recipient接收者reconfigurable可重新设置的reconnaissance 侦察reconstruction 重建rectangular 矩形的recur复发,再发生recurrence 重复recurring循环的redundancy 冗余,多余redundant冗余的,多余的reflected反射的reflection 反射reflective 反射的reflex反射,映像refractive index 折射率refractive 折射的regime政权,体制,情态regions-of-interest 感兴趣区register寄存器registration 对准regulations规则,条例regulatory调整的,控制的rehabilitation 康复reinforcement 力口强relaxation松弛,弛豫relay中继,接力release发布,版本relevance有关,适当relief texture凹凸的纹理rematrix重新进行矩阵变换render表示,表现,再现render表现,渲染rendition表现,渲染repeater中继器,转发器replica复制品replication 复制Requisite必需品,必要条件researchinstallation 研究机构reside驻留resistance 电阻resolution 分辨率resonance谐振,共振resonant谐振的resonator谐振器responsive应答的,回答的retrospective 回顾的reveal披露,显示revenue收入,税收revision 修正ridge 脊rigid坚硬的,刚性的rigorous严格的rip撕,拉,劈ripple carry adder纹波进位加法器ripple波纹,波动,飘动rival对手RMS (root mean square)均方根RMS: Royal Mail Ship 皇家邮轮roam漫游robot机器人robotic surgery机器人外科robust牢固,稳健robust稳健的,鲁棒的robustness稳健性,鲁棒性rock-solid磐石般坚固的roll out 展开round robin循环(复用)round四舍五入router路由器routing路由,联线royalty版税,庄严,王权rubric题目,标题Ssalinity 盐度sampler 样品sampling 采样sanitize消毒,使无害saturate 饱和saturation 饱和度scapegoat替罪羊scatter 散射scatterometer 散射计scenario情节,方案scenario情节,剧本,方案scenario情节,方案scenery风景,景物scope范围score得分scramble打乱,使混杂screening筛选,普查sediment沉淀物,沉积seismic地震的seismology 地震学semaphore 旗语seminal开创性的sensitivity敏感性,灵敏度sensor array传感器阵列sensor 传感器,感光器sensory感觉的,传递感觉的serial串行serial-in parallel-out 串进并出serial-in serial-out 串进串出Server服务器shading阴影,明暗shed放射,摆脱shift register移位寄存器shim填片shop floor车间现场shutter 快门signature签字,标识signify表示,象征signify告知,预示silicon 硅simulated annealing 模拟退火simultaneous 同时的single mode fiber 单模光纤sinusoid正弦曲线sinusoidal 正弦的skew歪斜slab厚片,板层sledgehammer 大锤slew rate转换率,斜率slideshow幻灯放映SoC (System onChip)片上系统software title 软件产品solder焊接,焊料sonar声呐sophistication 复杂(性)sophistication 复杂性source源极space shuttle 航天飞机space-borne repeater 天空转发器spacer定位架子sparse稀疏,稀少spatial domain 空间域spatial空间的speaker identification 说话人辨认speaker recognition 说话人识另ijspeaker verification 说话人确认special-purpose 专用species 种,类specification 指标speckle散斑,斑点spectacular 惊人的spectrometer分光光度计spectroradiometer 分光光谱仪speech recognition 语音识另ijspell拼写,迷住splice结合,焊接spoke轮辐sponsor支持,赞助,资助spreadsheet电子表格spur刺激,激励spurious假的,伪造的spurt冲刺,喷射spyware间谍软件squawk box聊天室,论坛stack堆栈standalone独立的,可独立存在的standard deviation 标准差state of the art 最新的static electric 静电的stationary静止的,不变的statute法令,成文法律stem阻止,堵住step-index阶跃(突变)折射率stereo vision 立体视觉stereo立体声stimulus (pl. stimuli)刺激stimulus 刺激strain应力strategy 策略streak条纹striking惊人的,醒目的striking显著的,引人注目的strip剥离stumbling笨手笨脚的sub-carrier 子载波sub-field分领域,子领域submarine海底的,潜水艇sub-pixel亚像素subscription 订购subset子集substantial实质性的,重要的substitute 代替substrate 基底subtle细微的,微妙的subtraction 减法supercomputer超级计算机superheterodyne超夕卜差的superimpose叠加,重叠superior优越的superposition 叠力口superset 超集supply rails电源供给线suppress 抑制surf冲浪,浏览网络surveillance 监视survivability存活,存活可能性susceptible易受影响的swamp沼泽,进退两难之地sweepgenerator扫描发生器switch交换器,交换switching rate 切换速度syllable 音节syllogism三段论,推演synchronization 同步synchronize使同步,同时发生synchronous同步的synchrony 同步(性)syntactical 句法的syntax句法synthesis合成,综合synthesizer合成器Ttactile触觉(的)tamper损害,篡改tape library 磁带库tap-proof防窃听的telehealth远程保健telemedicine远程医疗telemetry遥测^ tele-otoscope 远程耳镜teleradiology远程放射学tele-stethoscope 远程听诊器teletype电传打字机telnet远程登录template模板,样板terahertz 特赫,1012 赫兹terminate 终止terminology 术语terms of contract 合同条款terrestrial地面的,地球上的terrorism恐怖主义tether拴,束缚the literature 文献(总称)thematic题目的,主旋律的theorem 定理theorize使…成为理论threshold 门限,阈值thresholding用阈值分割图像throughput 吞吐量time and attendance station 考勤系统time budget时间限制time slot 时隙time-critical对时间要求苛刻的time-invariant 时不变的timing diagram 时序图tint色彩tolerance偏差,容差,宽容度tomography 断层成像术 underestimate 低估 vowel 元音tooling 工具作业underestimation 低估 voxel 体(像)素topographic 地形的,地形学的 undergo 经历voyager 旅行者,探索者 topology 拓扑,布局universal 普遍的,宇宙的 vulnerable 易受攻击的towed streamer 拖曳飘带式水听器 阵unjustified 不可验证的 unmanned 无人的Wtrace 痕迹、微量 unpack 解开wafer 晶片,薄酥饼 track 跟踪unprecedented 前所未有的,空前 wagon 四轮马车tradeoff 折中,妥协 的Wall Street Journal 华尔街日报 trailing edge 后沿,下降沿 unquoted 未注明的waveform 波形 transact 处理,交易 unsigned band 未签约的乐队 waveguide 波导transaction 办理,交割 untie 解开,松开wavelet 小波 transceiver 收发器up converter 上变频器wee 微小的transducer 传感器,变换器 up-down counter 可逆计数器 weighted coding 加权编码 transferfunctions 传递函数 useability 可用性weighted 加权的 transfer 迁移,传递 used up 竭尽全力的,用尽了 well-suited 很适合于 transient 瞬态的utilization 利用wetland 湿地transistor 晶体管 translation 平移 Vwhereby (关系副词)靠那个 wide-ranging 范围广的 transmission line 传输线 vacuum tube 真空管,电子管 wiretapping 搭线窃听 transmission 透射vacuum 真空,真空的 woofer 低音喇叭transmitted 透射的,发射的 valve 阀word of data 数据中的“字” transparent 透明的,可透过的 van 货车,篷车word processor 文字处理软件 transponder 应答器,转发器 vapor deposition 汽相淀积,蒸镀 worm 蠕虫transverse 横向的 vapor 汽,蒸汽 worst-case value 最不利的数值trash 垃圾,废弃traveling wave tube 行波管 variable 变量 variation 变种 ZTriad 三个一组,三合一vegetation 植物 zero-crossing 过零点 tricky 机敏的,狡猾的 trigger 触发 trimming 微调Trojan horse 特洛伊木马Trojan 特洛伊(木马) tTerahertz 特赫(1012Hz ) tumble 摔跤 tunable 可调节的 tune 调谐 turnaround 周转,转向UUHF (ultra-high frequency )特高频 ultraviolet 紫外线,紫外的 umbrella term 有多种含义的名词 unambiguous 不模糊的,不含糊的 unary 元的 unauthorized 未被授权的 uncertainty 不确定性uncommitted 未指定的,不受约束underappreciated 认识不足的,被低估的vendor 供应商 verification 确认versatility 多用途,多样性 version 版本 veterinarian 兽医 vice versa 反之亦然 vicinity 邻近,附近video conferencing 视频(电视)会 议video stream 视频(数据)流video-conferencing 视频会议 virtualshorting plane 虚拟短路平 面virtual system 虚拟系统 virtual 虚拟的,实际起作用的 virtually 事实上,几乎是 virus 病毒 visual perception 视觉 visualization 可视化,形象化 viz.(拉丁语 videlicet )就是说volume 音量voluntary 自发的,自愿的zonation 成带,分区。
Information Hiding Based on Block Match Coding for Vector Quantization-Compressed ImagesJiann-Der Lee,Senior Member,IEEE,Yaw-Hwang Chiou,and Jing-Ming Guo,Senior Member,IEEEAbstract—In this paper,a novel highly efficient lossless data hiding scheme is proposed to achieve the goal of hiding secret data into vector quantization(VQ)-compressed images that can be losslessly reconstructed after the secret data is extracted in the decoder.For VQ-compressed images,the index-modifying and the side-match VQ(SMVQ)techniques can be applied to encode indices and hide secret data.In general,data hiding accompanied by the SMVQ technique can yield a higher embedding capacity and a lower bit rate,yet more time consuming.In contrast,data hiding accompanied by the index-modifying technique can yield a lower embedding capacity and a higher bit rate,yet less time consuming.To possess the advantages of the two techniques while removing the shortcomings,the neighboring processed indices are employed to speed up the processes of generating state codebooks required for encoding and hiding.To evaluate the effectiveness of this approach,various test images are employed in the experiments.As documented in the experimental results,it is shown that the performance of the proposed scheme is superior to former schemes in terms of compression ratio,embedding rate, processing efficiency,and embedding capacity.Index Terms—Block match coding(BMC),lossless data hiding, lossless recovery,vector quantization(VQ).I.IntroductionT HE WIDESPREAD use of the Internet offers great convenience to the transmission of a large amount of data over networks,which are open but insecure channels, exposing many private and secret data to dangerous situations. Today,ensuring that information transmission over the Internet remains safe and secure has become extremely important. To keep the unauthorized user away from the transmission information,a variety of techniques have been proposed;data hiding is one of the protective techniques in data security.Data hiding is a method embedding secret data into a cover image, which can be performed in three domains,i.e.,the spatial domain[1]–[4],frequency domain[5]–[10],and compressed domain.Vector quantization(VQ)has widely been used for Manuscript received March2,2012;revised September20,2012;accepted November23,2012.Date of publication January9,2013;date of current version August21,2014.This work was supported in part by the Na-tional Science Council,Taiwan,under Grant NSC100-2221-E-182-047-MY3, and the NSC,under Grant NSC99-2631-H-011-001.(Corresponding author: J.-M.Guo.)J.-D.Lee and Y.-H.Chiou are with the Department of Electri-cal Engineering,Chang Gung University,Taoyuan333,Taiwan(e-mail: jdlee@.tw;d9221010@.tw).J.-M.Guo is with the Department of Electrical Engineering,National Taiwan University of Science and Technology,Taipei106,Taiwan(e-mail: jmguo@.tw).Color versions of one or more of thefigures in this paper are available online at .Digital Object Identifier10.1109/JSYST.2012.2232551signal processing due to its excellent compression perfor-mance.Data hiding techniques in the VQ-compressed domain can relish advantages of both data hiding and compression for a multimedia distribution,achieving a secure channel and bandwidth/space saving for data transmission/storage.In general,data hiding techniques can be classified into two categories,namely,reversible data hiding schemes and irreversible data hiding schemes.For irreversible data hiding schemes,only secret data can be extracted and no restora-tion of cover images is available.Conversely,reversible data hiding schemes can extract the secret data and recover the original cover images simultaneously.In addition,two types of methods,index-modifying and side-match VQ(SMVQ), are normally used to embed secret data into a VQ-compressed image.For an index-modifying data hiding,Jo and Kim[11]first proposed an irreversible index-modifying data-hiding scheme that is easy to realize,yet the hiding capacity is rather small.Chang et al.[12]developed another index-modifying data-hiding scheme with recovery capability.Indicators are added in front of the most encoded indices and only two clusters can be used to hide secret data in their2-bit hiding scheme,resulting in low embedding capacity and high bit rate (BR).In general,high embedding capacity can be achieved with SMVQ-based data-hiding schemes,in which a state codebook is used to encode each index,yet they require more encoding time than that of the index-modifying techniques. For an SMVQ-based data hiding,Shie et al.[13]developed an adaptive data hiding based on a VQ-compressed image, in which image blocks are classified into embeddable and unembeddable blocks based on the variances and side-match distortions(SMDs).Although this scheme can yield a high embedding capacity,the quality of the reconstructed image reduces as the quantity of secret data increases.In addition, this scheme is a case of the irreversible information hiding. In[14],both VQ and SMVQ are used to hide secret data,in which a1-b indictor is always required for each index and only 1-b secret data can be embedded in each index when the VQ technique is applied.Conversely,more than one bit secret data can be embedded in each index when the SMVQ technique is applied.This scheme can provide a higher hiding capacity,yet it is also an irreversible data-hiding scheme.Yang and Lin[15] extended the scheme proposed by Chang et al.[12]by dividing the VQ codebook into2ds clusters,and half of which are used to embed secret data,where ds denotes the size of the secret data embedded into each VQ index.In the scheme,both the VQ and SMVQ are applied to hide secret data,and thus1932-8184c 2013IEEE.Personal use is permitted,but republication/redistribution requires IEEE permission.higher embedding capacity and lower bit rate can be yield. Moreover,it is a reversible data-hiding scheme.In[16],a reversible data-hiding scheme for embedding secret data in VQ-compressed codes based on the declustering strategy is proposed.The scheme can achieve higher embedding capacity but requires many computations to decluster a codebook into a number of groups.In[17],the scheme uses more pairs of peak and zero points in the histogram to achieve the hiding process.Although the scheme is reversible and with formal indices as output,the hiding capacity is rather low,and the distortion of the embedded image increases as the hiding capacity increases.In[18],SMVQ indices are partitioned into three portions,and indices in portion1are used to hide secret data.Although the time-consuming SMVQ is applied in the scheme,it can yield a high embedding capacity and a low bit rate.Moreover,search order coding(SOC)-based and joint neighboring coding(JNC)-based hiding schemes,which use the processed neighboring indices to set up a search path(state codebook)or a reference,were also proposed.In[19],SOC and original index value are employed to hide secret bit0 or1.Although the low capacity is the major shortcoming of this scheme,the original cover image can be restored completely.In[20]and[21],the JNC scheme encodes the encoding index and embeds secret data using the difference between the encoding index and one of its neighboring indices, which can obtain a high embedding capacity and a high BR simultaneously.In[17]and[22],an embedded image with formal indices is presented after data embedding.An embedded image with formal indices as output produces a stego image.In addition, in[12]–[16]and[18]–[21],the encoded results followed by indicators as a code stream are presented after data embedding. In general,an embedded image with formal indices has lower embedding capacity,yet it normally yields satisfactory image quality.In contrast,an embedded image with indicators followed by encoded results as a code stream usually has a higher embedding capacity,yet only a code stream as output is presented.Nevertheless,for the latter approach,the original cover image can be recovered completely after data extraction, and a higher embedding capacity can be achieved.This merit makes it a popular data-hiding approach.Consequently,this paper dedicates itself to develop a hiding scheme belonging to the latter type.Inspired by the SMVQ technique,this paper proposes a novel reversible data hiding based on VQ-compressed images. This scheme can completely recover the original VQ cover image from an embedded image after the embedded message is pared to the SMVQ technique that is very time consuming to set up a state codebook and then search the nearest codeword,the proposed scheme employs block match coding(BMC)to reduce the complexity and preserve a satisfactory embedding capacity.The main problems in the former works[12],[15],[19],[21]are low embedding capacities,low embedding rates,high complexities,or high bit rates.To improve these problems,the proposed scheme applies the BMC prediction to encode indices,and thus can obtain a higher embedding capacity,higher embedding rate, higher processing efficiency,and lower bit rate simultaneity.As documented in the experimental results,the performance of the proposed scheme is significantly superior to the former works[12],[15],[19],[21]in terms of embedding capacity, embedding rate,processing efficiency,and bit rate.The rest of this paper is organized as follows.Section II presents the related works to introduce the concepts of VQ and SMVQ.Section III describes the proposed scheme in detail. Section IV gives the experimental results and performance comparisons of the proposed scheme with former approaches. Section V draws conclusions.II.Related WorksA.Brief Concept of the VQThe VQ consists of three phases,namely,codebook con-struction,encoding process,and decoding process.A code-book is generated from a set of training images using the Linde–Buzo–Gray(LBG)algorithm[23],where the train-ing images are partitioned into nonoverlapping blocks and the most representative blocks are selected to form the codebook,in which elements in the codebook are called codewords.With a generated codebook,each block in an image is encoded using the index of the nearest code-word of the block such that the total storage space for an image is significantly reduced.The squared Euclidean distance used to measure the similarity between a block, X=(x1,x2,...,x k)and a codeword,C tk=(c t1,c t2,..., c tk)is defined as(1),where C t denotes the t th codeword in the codebookD(X,C t)=ki=1(x i−c ti)2.(1)When the encoding process is complete,block X is simply represented by the index min−t,where C min−tdenotes the nearest codeword of X.This representation can significantly reduce the overall storage space when a codebook of a small size is employed.In the decoder process,with the same codebook as that used in the encoder,the original image is restored from the indices using a table-lookup operation.B.SMVQSMVQ was proposed by Kim[24].The high correlation among neighboring blocks is the key feature exploited in SMVQ to predict the current block during encoding,where a state codebook is generated according to the side-match prediction,and the original VQ codebook is called the super codebook.The side-match prediction assumes that the values of adjacent pixels among the neighboring blocks are equal.In SMVQ,the blocks locating in thefirst row and thefirst column of a VQ-compressed image are encoded using the super codebook,and the remaining blocks are predicted using the state codebook.Fig.1shows an example of the relationships among the encoding block X,its top neighboring block T,and its left neighboring block L for blocks of size4×4.This paper denotes the border vector and the side vector of block X as B(X)=(X1,X2,X3,X4,X5,X9,X13)=(b1,b2,b3,b4,b5, b6,b7)and S(X,T,L)=((T13+L4)/2,T14,T15,T16,L8,LEE et al.:INFORMATION HIDING BASED ON BLOCK MATCH CODING FOR VQ-COMPRESSED IMAGES739Fig.1.Example of SMVQ.L12,L16)=(s1,s2,s3,s4,s5,s6,s7).The squared Euclidean distance is employed to measure SMD between the encoding block X,predicted by blocks T and L,and a codeword cw in the codebook,as follows:SMD(X,cw)=D(S(X,T,L),B(cw))=7i=1(s i−b i)2.(2)Subsequently,SMVQ sorts the codebook CB according to SMD s,and thefirst C f codewords in sorted codebook are selected to form a state codebook SCBK,in which codewords with the smallest SMDs are employed for encoding block X. Because the size of the state codebook is smaller than that of the codebook,the encoding size of the index is reduced. Moreover,an index encoded using the SMVQ technique requires the following operations.1)cs operations tofigure out the SMD of each codeword;one operation that requires seven subtractions,seven multiplications,and six additions,where cs denotes the size of the codebook.2)Zero operation to sort the codebook,suppose that allthe SMDs are in ascending order(the best scenario) and the state codebook is immediately formed with the codebook.3)SCBK−L operations tofigure out the differences be-tween the encoding block and codewords in the state codebook(suppose that the length of the state codebook is SCBK−L.),one operation that requires16subtrac-tions,16multiplications,and15additions.4)SCBK−L−1comparisons to select the nearest code-word.III.Proposed SchemeFigs.2and3show the histograms of the VQ-compressed Lena image and the corresponding SMVQ-compressed image, respectively,with a codebook of size256.For SMVQ with a selected state codebook size,most of the indices can be predicted by the state codebook and the SMVQ indices are mostly close to zero.To yield an extra space for hiding secret data,frequently used indices are encoded by short codes while rarely used indices are encoded by long codes.Thus,a VQ index is encoded using a1-bit indicatorconcatenating Fig.2.Histogram of the VQ-compressed Lenaimage.Fig.3.Histogram of the SMVQ-compressed Lena image.an SMVQ index when the VQ index can be predicted by the state codebook;a VQ index is encoded using a1-bit indicator concatenating the original VQ index when the VQ index cannot be predicted by the state codebook.As a matter of fact,simulation results show that this arrangement can improve the compression performance.For example,as far as SMVQ-compressed Lena image with code book of size256is concerned,the entropy values are4.88,4.97,and5.43b/index (bpi),respectively,with state codebook of sizes4,8,and16, while the entropy value is8bpi when the corresponding VQ-compressed image is carried out.The entropy of the encoding result can be reduced when the SMVQ is exploited,which yields an extra hiding space to hide secret data.To provide a better comprehension about the symbols used in this section,the definitions of the notations are organized in Table I.A.Data-Embedding Procedure With BMCIn the proposed scheme,one of the areas on the top or left of the currently encoding index,named the prediction index,740IEEE SYSTEMS JOURNAL,VOL.8,NO.3,SEPTEMBER2014TABLE INotations Used for Embedding and Extraction ProcedureNotation Definitioncs The size of a codebookC The currently encoding indexCT The top index of CI A space with I bits to be used to encode a middle indexJ A space with J bits to be used to encode a short indexSC(CT,J)A state codebook with elements{CT−2∧J/2,...,CT−2,CT−1,CT,CT+1,CT+2,...CT+2∧J/2−1}SC−S(CT,J)A short state codebook with elements SC(CT,J)−{CT−2∧J/2,CT+2∧J/2−1}SC−M(CT,I)A middle state codebook with the same number of elements as a state codebookBMC−s A block match coding index for a short indexBMC−m A block match coding index for a middle indexKs A constant with value CT−2∧J/2+1Km A constant with value CT−2∧I/2s The embedding space for a short indexrx A restored indexrsd Restored secret datarsdv A value of the retrieved s bits from the code streamJv A value of the retrieved J bits from the code streamIv A value of the retrieved I bits from the code streamCSv A value of the retrieved log2(cs)bits from the code streamis used to predict the encoding index and generate the state codebook.In general,the neighboring blocks have low corre-lations with those blocks locating at the extremely nonsmooth regions,and vice versa.For blocks with high correlations, the prediction index can better predict the encoding index, and vice versa.In the VQ process,when two neighboring blocks with high correlations are replaced with indices,the correlations may not be existed.To maintain the correlations of the two neighboring indices,the codewords in the codebook are sorted according to the mean values and variance values of the codewords before the VQ encoding is performed.In the sorting process,only the smooth codewords(with low variances)are sorted using means and variances,while the nonsmooth codewords(with high variances)are not sorted. The value of p is determined by the variance of a codeword. Given a codeword,if the corresponding variance is greater than a threshold,V−th,the codeword associates to a nonsmooth block and p is0.Otherwise,the codeword associates with a smooth block and p is1.In the embedding process,the en-coding index,namely base index,locating in thefirst row and first column of a VQ-compressed image remains unchanged. Indices associated with thefirst row(column),except for the first one,uses the left(top)index as the prediction index. Other indices can be predicted using horizontal or vertical prediction,where a left index is used as a prediction index for horizontal prediction,while a top index is used as a prediction index for vertical prediction.Moreover,indices are classified into predictable and unpredictable according to the p values. If the p value of a prediction index is1,the encoding index is predictable,and vice versa.No secret data can be embedded with an unpredictable index,and which can be clearly denoted by the prediction index.A predictable index can be a short index,middle index,or long index according to the prediction accuracy.In the proposed scheme,a short index is used to embed secret data,and a middle index is utilized to compress the code stream.Suppose that the currently encoding index C is a short index, and J bits are used to encode a short index;CT denotes the top index of C,and the vertical prediction is used.The prediction index,CT,is used to generate the state codebook(SC).SC is defined as(3),where cs denotes the size of the codebook and ∧indicates an exponential operatorSC(CT,J)={CT−2∧J/2,...,CT−2,CT−1,CT,CT+1, CT+2,...,CT+2∧J/2−1|J<log2(cs)}(3)SC−S(CT,J)=SC(CT,J)−{CT−2∧J/2,CT+2J/2−1}(3−1). An encoding index C with a value in between CT−2∧J/2+ 1and CT+2∧J/2−2is defined as a short index.A short state codebook(SC−S)with top index CT and J-bit coding is defined as(3-1).In SC−S,the index value of thefirst element, CT−2∧J/2+1,is0;the second element of SC−S is1,and so on.An encoding index belongs to a short index can be encoded by the index of SC−S.The SC−S only uses2∧J−2 values to index its elements,while the rest two values of the J-bit coding are used as indicators.For a short index,a table lookup is performed to retrieve an index from SC−S,which is named BMC index.The BMC index of the encoding index C can be easilyfigured out from(4)rather than directly performs a table lookup,where Ks indicates CT−2∧J/2+1BMC−S(C)=C−Ks.(4) Suppose that the currently encoding index C is a middle index and I bits(I>J)is used to encode a middle index. The middle state codebook(SC−M)with top index CT and I-bit coding is defined as follows:SC−M(CT,I)=SC(CT,I).(5) An encoding index C with a value in between CT−2∧I/2 and CT+2∧I/2−1is defined as a middle index.The BMCLEE et al.:INFORMATION HIDING BASED ON BLOCK MATCH CODING FOR VQ-COMPRESSED IMAGES741Fig.4.Example of the index classification.index of a middle index can befigured out from(6),where Km indicates CT−2∧I/2BMC−m(C)=C−Km.(6) To preserve an easy way tofigure out BMC−m,and restore the original index in receiver end,SC−M(CT,I)is not reconstructed as SC(CT,I)−SC−S(CT,J)but SC(CT,I) so that BMC−m and the restore index can befigured out from(6)and(9),respectively.For an index belonging to both SC−M and SC−S,the index is simply encoded using (4).If a predictable index does not belong to SC−M,the index is defined as a long index.In embedding process,an encoding index can reside in one of the indices that is an unpredictable index,a short index,a middle index,or a long index.Fig.4shows an example of the index classification. The encoded result of a short index is BMC−s||secret data, where||denotes a concatenation operation.The encoded result of a middle index is(2∧J−2)||BMC−m.The encoded result of a long index is(2∧J−1)||index.The encoded result of an unpredictable index is itself.The embedding process of the proposed method is summarized as follows.Input:A grayscale image G of size N∗M;a codebook CB of size cs;parameters J,I,V−th,and s,and a secret data stream. Output:The code stream in a binary form bs with the parameters J,I,V−th,and s.1)Offline preprocessing:Step1)Calculate the mean value,variance value,and p value for each codeword in the codebook.Step2)Rearrange the codewords of codebook in as-cending order according to the mean values,variance values,and V−th.2)Online processing:Step1)Compress image G using VQ to obtain a VQ-compressed image CI of size(N/n)∗(M/m),where n∗m denotes block size.Step2)Read the next index and the p value of the prediction index,denoted as C and p,from theVQ-compressed image in the raster scan order.Step3)If p is0,then bs=bs||C,where||denotes the concatenation operation,then go to Step7.Step4)If C is a short index,then:Step4.1)calculate the BMC−s of C using(4);Step4.2)take s-bit data,sd,from the secret datastream;Step4.3)bs=bs||BMC−s||sd,go to Step7.Step5)If C is a middle index,then:Step5.1)calculate the BMC−m of C using(6);Step5.2)bs=bs||(∧2J−2)||BMC−m,go to Step7.Step6)If C is a long index,then bs=bs||(2∧J−1)||C.Step7)Repeat Steps2–7until all of the indices in the VQ-compressed image are processed.Step8)Output the code stream bs and parameters J,I,V−th,and s.B.Data-Extraction ProcedureAt the receiver,the decoder can extract the embedded secret data and reconstruct the original VQ indices simultaneously. Initially,thefirst log2(cs)bits are read from the code stream bs.Thefirst index that is the base index of thefirst row of the original VQ-compressed image is restored by the log2(cs)bits. After restoring the base index,each index can be predicted by its corresponding prediction index.Let rx and rv represent the restored index and the value retrieved from the code stream with length log2(cs)bits.For an unpredictable index, the restored index rx can be obtained byrx=rv.(7) The encoded index can be a predictable index or unpre-dictable index according to its corresponding prediction value. As mentioned above,an unpredictable index can be easily restored.For a predictable index,J bits converted to a decimal value Jv are read from the code stream bs,and then considered as an indicator.The encoded index can be identified as one of the following indices by the value of Jv.1)A short index,where the indicator has a value in between0and2∧J−3.In this case,after the indicator is identified,the following s bits secret data must be read to restore the original secret data.2)A middle index,where the indicator has a value2∧J−2.In this case,after the indicator is identified,the fol-lowing I bits must be read to restore the original VQ index.3)A long index,where the indicator has a value2∧J−1.In this case,after the indicator is identified,the following log2(cs)bits must be read to restore the original VQ index.Let rx,rsd,rsdv,Jv,Iv,and CSv represent the restored index,the restored secret data,the values of the retrieved s, J,I,and log2(cs)bits from the code stream,respectively.For a predictable encoded index,the restored index rx and the restored secret data rsd can be obtained byrx=Jv+Ks if the encoded index is a short index(8)rsd=rsd v if the encoded index is a short index(8-1) rx=Iv+Km if the encoded index is a middle index(9) rx=CSv if the encoded index is a long index.(10)742IEEE SYSTEMS JOURNAL,VOL.8,NO.3,SEPTEMBER2014Fig.5.Test images.(a)Airplane .(b)Lena .(c)Peppers .(d)Boat .(e)Sailboat .(f)Toys .(g)Goldhill .(h)Zelda .(i)Baboon .(j)Tiffany .The data-extraction procedure of the proposed method is summarized as follows.Input :The code stream in binary form bs with the parameters J,I,V −th,and s.Output :The reconstructed VQ image G of size N *M and retrieved secret data stream.1)Offline preprocessing :Step 1)Calculate the mean value,p value and variancevalue of each codeword in the codebook.Step 2)Rearrange the codewords in ascending orderaccording to their means,variances,and V −th.Step 3)Calculate the values of Ks and Km .2)Online processing :Step 1)Set ptr =1;Set restored sd =Null.Step 2)If the prediction value =0(unprediction),thenRead the next log 2(cs )bits from the code stream bs ,restored index =B2D(bs (ptr :ptr +log 2(cs )−1)),ptr =ptr +log 2(cs ),where B2D(x )denotes the binary to the decimal operation.Step 3)If the prediction value =1(prediction),thenread next J bits from the code stream bs ,indica-tor =B2D(bs (ptr :ptr +J −1)),ptr =ptr +J .Step 3.1)If the value of the indicator lies in be-tween 0and 2∧J −3,then restored index =indicator +Ks restored sd 0=read the next s bits from the code stream bs ,restored sd =restored sd ||restored sd 0.Step 3.2)If the indicator =2∧J −2,then read thenext I bits from the code stream bs ,Iv =B2D(bs (ptr :ptr +I −1)),ptr =ptr +I ,restored index =Iv +Km .Step 3.3)If the indicator =2∧J −1,then read thenext log 2(cs)bits from the code streambs ,restored index =B2D(bs (ptr :ptr +log 2(cs )−1)),ptr =ptr +log 2(cs ).Step 4)Repeat Steps 2–4until all of the bits in thecode stream are processed.Step 5)Output the reconstructed VQ image andrestored the secret data.putational ComplexityAs shown in Fig.4,the longest execution time (the worst case)is happened to encode a middle index.The embedding process for a middle index requires:1)one comparison to determine whether the encoding index is predictable;2)two additions,one division and one exponentiation to set up the upper bound;two addition,one division,and one exponentia-tion to set up the lower bound of SC −S;3)two comparisons to determine whether the encoding index is in SC −S ;4)two ad-ditions,one division and one exponentiation to set up the upper bound;and one addition,one division and one exponentiation to set up the lower bound of SC −M ;5)two comparisons to determine whether the encoding index is in SC −M;and 6)two additions,one division and one exponentiation to calculate the BMC index.The overall operations to encode an index simply require five comparisons,nine additions,five divisions and five exponentiations (the worst case).As mentioned in Section II,compared to the SMVQ-based hiding,the execution time of the proposed scheme is much shorter.IV .Experimental ResultsIn this section,the experimental results are presented to demonstrate the performance of the proposed scheme.Fig.5shows various test images of size 512×512employed as the training images or cover images.The codebooks of sizes 128,256,512,and 1024with codewords of 16dimensions were trained by the LBG algorithm,in which the Airplane ,LEE et al.:INFORMATION HIDING BASED ON BLOCK MATCH CODING FOR VQ-COMPRESSED IMAGES743TABLE IIERS,ECS,and BRS of the Proposed Scheme Under Different Codebooks and Different Values of V−T H and JCodebook Sizes/VQ BR(in b/p)128/0.438256/0.500512/0.5631024/0.625 Image EC(in bits)BR(in b/p)V−th JER53655537504962649524 Airplane0.44527520.51510030.5772530.6472540.4600.3980.3280.29258500561505872253430 Toys0.44527520.51510030.5762530.6442540.5020.4160.3890.31770490650655871658608 Tiffany0.43927520.50810030.5752530.6482540.6120.4880.3890.34544836475804357546105 Lena0.4565030.5202530.6015040.6925050.3750.3490.2760.25447680498704368545090 Peppers0.4535030.5182530.5995040.7025050.4020.3670.2780.24547928483004976552920 Zelda0.4525030.5182530.5925040.6895050.4050.3560.3210.29342512429883880540875 Boat0.45817530.53817540.60010040.70310050.3540.3050.2470.22239376399643692037230 Sailboat0.46417530.54017540.60510040.70210050.3240.2820.2330.20237712423364574048360 Goldhill0.46217530.55217540.59810040.69210050.3110.2930.2920.26724184236801537416915 Baboon0.47727530.56620040.64015040.74515050.1940.1600.0920.087Boat,Lena,Sailboat,and Toys are employed as the training images.In total,16384indices are created when an image of size512×512is encoded using the VQ,of which the codebook is with codewords of16dimensions.The secret data in the experiment is in binary format,0and1,and which are generated by a pseudo-random number generator. Chang et al.’s[12],[19]schemes,Wang and Lu’s[21]path1 scheme,Yang and Lin’s[15]scheme,and the proposed scheme are implemented with the platform Dev C++software and Core2cpu at2.8GHz with1.96GB RAM.In this work,the BR,embedding capacity(EC),and embedding rate(ER)as defined in(11)–(13),respectively,are employed to evaluate the performances of various schemes,where x denotes the number of x,and||×||denotes the size of x.In general,data hiding with a small value in BR,large values in EC and ER endorses a good performance,and vice versaBR=||embedded image||/(N×M)(11)EC=s∗ short indices (12)ER=EC/||embedded image||.(13)A.Experiments on Selecting the Appropriate Parameters V−th,J,and ITo obtain the best performance of the proposed scheme, the parameters V−th,J,and I must be properly selected.A greater I induces more indices as middle indices while fewer indices as long indices,and vice versa.Moreover,a greater I leads to a larger embedded result.In the proposed scheme,I is initially set at log2(cs)−J to restrict the size of the encoded result,and induce more indices as middle indices.Experiments are performed to determine the appropriate values of V−th and J,which can achieve a higher embedding rate for test images under codebooks of different sizes.The better ERs of the proposed scheme under different codebooks and different values of J and V−th for various images are shown in Table II, where s=log2(cs)−J.For an extremely smooth image,greater ERs can be achieved when(V−th,J)are with values of(275, 2),(100,3),(25,3),and(25,4)for codebooks of sizes128, 256,512,and1024,respectively;for a smooth image,greater ERs can be achieved when(V−th,J)are with values of(50,3), (25,3),(50,4),and(50,5)for codebooks of sizes128,256, 512,and1024,respectively;for a high texture image,greater ERs can be achieved when(V−th,J)are with values of(175,。